[英]SQL Server - Update value based another table
我有 2 個表:
表格1
表2
我想知道表 1 的“池”列是否有一個值,而不是將表 2 的“need_water”列更新為是。
這是我想要的表 2。
表格1
包裹編號 | 池類型 |
---|---|
1個 | 圓圈 |
2個 | 橢圓形 |
3個 | Null |
4個 | 長方形 |
表 2
包裹編號 | 需要水 |
---|---|
1個 | 是的 |
2個 | 是的 |
3個 | 不 |
4個 | 是的 |
if exists(select a.pool_type
from table1 a
where a.parcel_number = b.parcel_number)
Begin
Update b
set b.need_water = 'Yes'
from table2 b
end
else
Begin
Update b
set b.need_water = 'No'
from table2 b
End
謝謝
一個更新語句應該能夠解決這個問題:
UPDATE t2
SET t2.need_water = CASE WHEN t1.parcel_number IS NOT NULL THEN 'Yes' ELSE 'No' END
FROM table2 t2
INNER JOIN table1 t1
ON t2.parcel_number = t1.parcel_number
帶有 JOIN 的 UPDATE 將起作用
UPDATE t2
SET need_water = 'yes'
FROM Table1 t1
JOIN Table2 t2
ON t1.parcel_number = t2.parcel_number
WHERE t1.pool_type IS NOT NULL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.