あなたがコメントで言うことについて:私は推測
テーブルBの構造は、実際に固定されていないが、悪いことです。新しいサンプルが追加されると、新しい列がテーブルBに追加され、新しい行がテーブルAに追加されます。
明らかに、これは悪いリレーショナルデザインです。
Table B
probe_num gene_num gene_value
1 1 value_for_gene_1_of_probe_1
1 2 value_for_gene_2_of_probe_1
1 3 value_for_gene_3_of_probe_1
1 4 value_for_gene_4_of_probe_1
...and so on for probe_1
2 1 value_for_gene_1_of_probe_2
2 2 value_for_gene_2_of_probe_2
2 3 value_for_gene_3_of_probe_2
2 4 value_for_gene_4_of_probe_2
は今、あなたは貴様プローブの異なる遺伝子の情報を保存することができます
は代わりに、私はあなたが別のaproach(メートル関係nに使用されるもの)を使用することをお勧めします。新しい遺伝子に関する新しいデータが出現すれば、データ構造を変更する必要はありません。テーブルに新しい行を追加するだけです。このような
probe_num gene_num gene_value
15 2714 value_for_gene_2714_of_probe_15
としてのあなたのテーブルは、おそらくラインがたくさんあります
プローブ15に関連するすべての遺伝子情報の取得については(ない問題を!):最後に
SELECT * FROM TABLE_B
WHERE probe_num = 15;
を、あなたが関連付けることができます
SELECT * FROM TABLE_B
JOIN TABLE_A ON TABLE_A.sample_num = TABLE_B.sample_num
WHERE TABLE_A.sample_id LIKE 'id_2';
プローブと式ごとに1つの行がある接合テーブルが必要です。データの「配列」を別々の列に格納することは、一般的には悪い考えです。 –
テーブルBの正確な(そして固定された)構造は何ですか?それはどのフィールドにありますか?カラム '識別子'を参照する場合、その名前のフィールドを意味するか、フィールド1、フィールド2、または...を参照していますか? – MarcM
@MarcMフィールドは、テーブルAのsample_numカラムのエントリに対応します。テーブルBの構造は実際には固定されていません。これは悪いことです。新しいサンプルが追加されると、新しい列がテーブルBに追加され、新しい行がテーブルAに追加されます。 –