【发布时间】:2021-06-20 05:07:28
【问题描述】:
我有两个表 items 和 users。
我想与所有者及其经理、主管等创建特定项目的视图。
示例:
SELECT Name, OwnerId, owner.FirstName, manager.FirstName
FROM items
LEFT JOIN users as owner ON owner.id = OwnerId
LEFT JOIN users as manager ON manager.id = owner.ManagerId
现在有些项目是旧的并且 OwnerId 已经过时(用户不再存在于表中)所以 LEFT JOIN 返回 NULL。
在这种情况下,我想从 users 表中分配特定用户。
SELECT Name, OwnerId, owner.FirstName, manager.FirstName
FROM items
LEFT JOIN users as owner
ON owner.id = OwnerId --WHEN owner is null THEN owner ON owner.id = (SELECT * FROM users WHERE Id = 123)
LEFT JOIN users as manager ON manager.id = owner.ManagerId
有可能吗?我想这样做,所以我不必手动更新经理,主管等。
【问题讨论】:
标签: sql tsql sql-server-2008 join left-join