我對sql很新,我需要你的幫助來解決這個問題。我有兩張桌子。我想要的是使用另一個表中的數據更新一個表中的行,但只有當值相同時值纔不同。用另一張表的數據更新表格行
像這樣:
表A
ID DESC
1 asd
2 aaa
3 asda
表B
ID DESC
1 asd33
2 aaa22
3 asda
而且我要的是從DESC數據此更新DESC表B中僅如果值是不同的
表B
ID DESC
1 asd
2 aaa
3 asda
我對sql很新,我需要你的幫助來解決這個問題。我有兩張桌子。我想要的是使用另一個表中的數據更新一個表中的行,但只有當值相同時值纔不同。用另一張表的數據更新表格行
像這樣:
表A
ID DESC
1 asd
2 aaa
3 asda
表B
ID DESC
1 asd33
2 aaa22
3 asda
而且我要的是從DESC數據此更新DESC表B中僅如果值是不同的
表B
ID DESC
1 asd
2 aaa
3 asda
UPDATE B
SET B.DESC = A.DESC
FROM TABLEB B
LEFT JOIN TABLEA A on A.ID = B.ID
當你有關於SQL的問題,特別是T-SQL(Microsoft SQL Server)時,我建議你總是從微軟開發者網絡開始。 'UPDATE'語法和示例是[here](https://msdn.microsoft.com/en-us/library/ms177523.aspx)。 –
感謝男人生病了試試這個,在你的劇本上我想要更新的是B表,當desc是不同的時候A –
告訴我一件事情爲什麼要做左邊的加入 –
試試這個
Update TableB
Set TableB.desc = TableA.desc
From TableB INNER JOIN TableA ON TableB.ID = TableA.ID
Where TableB.desc NOT IN
(Select ISNULL(TableA.desc,'') From TableA)
並不比ASDA asda3不同? –
您正在使用哪些DBMS? Postgres的?甲骨文? –
是的,這是一個錯字它的asda而不是asda 3 –