Con*_*eak 0 sql sql-server sql-server-2008
请查看此声明:
SELECT TableID FROM Table t1
INNER JOIN BlackList b ON b.TableID <> t1.TableID
Run Code Online (Sandbox Code Playgroud)
我在想这个语句返回Table了Blacklist表中找不到的所有内容,但它根本没有返回任何内容(0行).如果我试图返回表格中Table没有找到的所有内容Blacklist,那么最好的方法是什么?我假设你可以这样做:
SELECT TableID FROM (
SELECT TableID, CASE WHEN b.TableID IS NULL THEN 1 ELSE 0 END OnBlackList
FROM Table t1
LEFT JOIN Blacklist b ON b.TableID = t1.TableID
) tb1
WHERE tb1.OnBlackList = 0
Run Code Online (Sandbox Code Playgroud)
但我一直在寻找更短,更有效的解决方案.有什么建议?
SELECT TableID FROM dbo.Table
EXCEPT
SELECT TableID FROM dbo.Blacklist;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |