MySQL初心者はこちら。2つのテーブル(以下に表示)があり、そのうちの1つ(freqs)に、参照列(以下のtype_freq)のデータが一致する列に基づいて値を挿入します。たとえば、「rs9」(freqsから)のタイプは「GG」であり、この「GG」値はtype_freqテーブルの「type2」と一致します。対応する頻度(この場合は「.2」)をに挿入します。 'rs9'の周波数値。
私は無駄にケースステートメントをいじってみました。私はこれがいくつかのケースステートメントで最もよく解決されると考えるのは正しいですか?おそらくもっと良い方法はありますか?フィードバックをいただければ幸いです。ありがとう!
テーブル:
表の頻度
rsid type freq
rs9 GG
rs8 CC
rs1 CC
TABLE type_freq
rid type1 type1_frequency type2 type2_frequency type3 type3_frequency
rs9 AA .7 GG .2 GC .1
rs8 CC .5 TT .3 AT .2
rs1 AA .9 CC .1 . .
私のコード:
UPDATE freqs SET req =
(
(SELECT type1_Frequency CASE
WHEN type.freqs = type1.type_frequencies
FROM type_frequencies
END CASE)
(SELECT type2_Frequency CASE
WHEN type.freqs = type2.type_frequncies
FROM type_frequencies
END CASE)
(SELECT type3_Frequency CASE
WHEN type.freqs = type3.type_frequencies
FROM type_frequencies
END CASE)
)