2
Ok ...私は周りを見回し、私の特定の問題を解決するのに役立つものは何も見つかりませんでした。私は、新しく作成された列に既存のテーブル(table2)に移動しようとしている内容のテーブル(table1)を持っています。 TABLE1:SQL/SSMS - 2つの条件で1つのテーブルから別のテーブルにデータを部分的に移動する
CNTC_COMM_TYP_ID CNTC_COMM_VAL CNTC_ID COMM_TYP_ID
14 406-444-1104 4 1
15 406-443-2127 4 4
16 [email protected] 4 3
17 406-338-2181 16 1
18 406-338-7127 16 4
表2:
CNTC_ID CNTC_NM ST_ENTY_ID TRBL_ID WorkPhone CellPhone Email Fax
1 Poole, Andy 10 NULL NULL NULL NULL NULL
2 Goodwin, Annie NULL 5 NULL NULL NULL NULL
私は適切な列に値を分離しているとのトラブルを抱えています問題。
WHERE table1.CNTC_ID = table2.CNTC_ID
と::私が探しているようなものである
IF (GAIN_CNTC_COMM_TYP.CNTC_TYP_ID= 1) {
SET WorkPhone = table1.CNTC_COMM_VAL
}
ELSE IF (table1.CNTC_TYP_ID= 2) {
SET CellPhone = table1.CNTC_COMM_VAL
}
ELSE IF (table1.CNTC_TYP_ID= 3) {
SET Email = table1.CNTC_COMM_VAL
}
ELSE IF (table1.CNTC_TYP_ID = 4)
SET Fax = GAIN_CNTC_COMM_TYP.CNTC_COMM_VAL
}
私は一緒にSQLでCASEを入れて試してみたが、私は苦労しています。
、なぜCTEを更新?ケースステートメントをアップデートに入れるだけでいいですか、それともベストプラクティスではありませんか? – manderson
これらのcase文をset節に直接追加することはできません。cteの代わりに派生テーブル..を使用することはできますが、もっと読みやすくなります。 –
自分で作成したばかりです。 @Prdpありがとう。 – manderson