0
我有一個表A,其中包含幾列包含條目的表。第1列是唯一的廣告系列名稱。表A包含所有相關的歷史數據。 我有另一個表B,包含與條目相同的列也。表B中的一些條目也可能已經存在於表A中(廣告活動名稱與表A相同),但可以(不必)在其他列中包含不同的條目。 B是帶有(某些)新數據的更新表。使用表B中的所有新條目更新表A AND通過B更新A中的現有條目
現在,我想要做的事: 我想從表B到A完全添加所有新條目(列1中的活動名稱不在表中的行)並更新/替換現有條目第1列中的廣告系列名稱已在A)中,其他列中的條目不同。
Here's一個例子:
例如,如果表A中包含:
|col1 ||col2 ||col3|
+-----+
|20161512_NL_Luxus_1_DE ||Andrea ||29 |
|20161217_LC_YoBirthdayNo_A_CH ||Oscar ||38 |
|20161512_NL_SDT_4_DE ||James ||44 |
|20170117_SV_YoBirthdayYes_A_DE ||Julia ||57 |
,表B包含:
|col1 ||col2 ||col3|
+------+
|20161512_NL_SDT_4_DE ||James ||44 |
|20170117_SV_YoBirthdayYes_A_DE ||George ||12 |
|20161230_LC_YoBirthdayNo_A_CH ||Hank ||97 |
|20170101_SV_YoBirthdayYes_A_DE ||Selma ||77 |
我想要一個查詢,將更新表A如下:
|col1 ||col2 ||col3|
+-----+
|20161512_NL_Luxus_1_DE ||Andrea ||29 |
|20161217_LC_YoBirthdayNo_A_CH ||Oscar ||38 |
|20161512_NL_SDT_4_DE ||James ||44 |
|20170117_SV_YoBirthdayYes_A_DE ||George ||12 |
|20161230_LC_YoBirthdayNo_A_CH ||Hank ||97 |
|20170101_SV_YoBirthdayYes_A_DE ||Selma ||77 |
這就是我這麼遠:
INSERT INTO A SELECT * FROM B WHERE `col1` NOT IN (SELECT `col1` FROM `A`);
- >但是that's只能解決一部分...
不幸的是我不知道如何解決這個問題...:/
在此先感謝!
其實 '20161512' 是兩倍於你預期的結果吧? –
我認爲您需要將表B中的值插入到表A中。 –
是的:但是「20161512」不是完整的廣告系列名稱 - 它只是其中的第一部分(「20161512_NL_Luxus_1_DE」和「20161512_NL_SDT_4_DE」是整個廣告系列姓名):'| 20161512_NL_Luxus_1_DE || Andrea || 29 |'&'| 20161512_NL_SDT_4_DE || James || 44 |'應該都在我的結果中,但每個都只有一次 – AbsoluteBeginner