Chi*_*hin 0 sql t-sql sql-server sql-server-2005
为表格添加了一个外键关系,我不得不放弃检查创建数据.我假设一些父(公司)对象已被删除,我想找到孤立(分区)记录.如何找到主表中不存在外键的行?
这就是我的想法,但我正在努力使用where子句.
SELECT tb_Division.DivisionName,
tb_Division.DivisionCompanyID
FROM tb_Division
LEFT OUTER JOIN tb_Company ON tb_Division.DivisionCompanyID = tb_Company.CompanyID
WHERE (tb_Company.CompanyID = NULL
OR 'doesn't exist in tb_Company')
Run Code Online (Sandbox Code Playgroud)
任何指针都非常赞赏.
你几乎得到它,但你需要使用IS NULL谓词进行比较:
SELECT d.DivisionName, d.DivisionCompanyID
FROM tb_Division d LEFT OUTER JOIN tb_Company c
ON d.DivisionCompanyID = c.CompanyID
WHERE c.CompanyID IS NULL
Run Code Online (Sandbox Code Playgroud)
或者你可以用这种方式写它,它会做同样的事情,也许它更直观:
SELECT d.DivisionName, d.DivisionCompanyID
FROM tb_Division d
WHERE NOT EXISTS (SELECT * FROM tb_Company c WHERE d.DivisionCompanyID = c.CompanyID);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
909 次 |
| 最近记录: |