我試圖從一箇舊的數據庫遷移到一個新的稍微不同的模式,並且我的SQL不是非常強大的一個數據。構建這個跨數據庫查詢
舊模式:有一張表我們稱之爲「Person」,其中一個字段可以有3個標誌的排列組合。 Person表有一個外鍵給我們稱爲「標誌」的另一個表。他們旗表有行對每個在一個字符串,這些標誌的組合:
1 - Yes No No
2 - Yes Yes No
3 - Yes No Yes
4 - Yes Yes Yes
5 - No Yes No
6 - No Yes Yes
7 - No No Yes
新的模式不需要此表(謝天謝地)。這些標誌只是「Person」表中現在作爲BIT字段的字段。
我想要做的是像一個:
UPDATE database2.Person SET (flag1, flag2, flag3) VALUES (true, false false) WHERE database1.Person.flag_id = 1;
然後我可以運行相應的7個不同的查詢,更改ID和值。這個問題當然就是上面的SQL不正確。我想我需要某種JOIN ...或者where子句中的子查詢或其他東西?
難以置信的前進方向。我的分手在這裏想到的是,這不需要被壓縮到一個單一的查詢,或特別優雅。我希望運行這個查詢一次,並完成它。
打賭你想傷害誰曾經想出了。 @paul解決方案几乎是我在想的鏡子。 –