我需要更新連接了兩個表的列,但我很難理解它。這是針對 SQL Server 的。下面的松散示例...
用戶
ID | Name | GroupID |
---------------------
1 | Bob | 100 |
2 | Alex | 300 |
3 | Sara | 300 |
團體
ID | Name |
----------------
100 | Produce |
200 | Cashier |
300 | Stocker |
GroupID 是 Group 表的外鍵,他們正在加入。我必須根據 Group 中的 Name 列更新 User 中的 GroupID 列。例如,我希望 Alex 和 Sara 從“Stocker”更改為“Cashier”。我的解決方案如下,但似乎不起作用。
UPDATE User
SET User.GroupID = G.ID
FROM User U
JOIN Group G ON U.GroupID = G.ID
WHERE User = 'Sara' OR User = 'Alex'
預期結果
用戶
ID | Name | GroupID |
---------------------
1 | Bob | 100 |
2 | Alex | 200 |
3 | Sara | 200 |
uj5u.com熱心網友回復:
您不需要并使用 join 更新 .. 但您可以使用子查詢從組中獲取預期的 id
update user
set User.GroupID = (select id
from group where name = 'Cashier )
where User = 'Sara' OR User = 'Alex'
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/365528.html
下一篇:SQLJOIN只回傳第一個匹配項
