有人可以告诉我这是一个排除?有人可以向我解释这个声明是如何排除的吗?
假设TABLEID是自动生成的,并在columnY可以有0或1。该声明价值应该排除一切都是columnY有1
SELECT *
FROM [table].[dbo].[one] AS t1
LEFT JOIN [table].[dbo].[one] AS t2
ON (t1.ColumnX = t2.ColumnX AND columnY = 1)
WHERE t1.tableID IS NULL
一个值,因此表将是这个样子:
ID | ColumnX | ColumnY
1 Blue 0
2 Blue 1
3 Red 0
4 Red 0
5 Red 1
你确定你已经正确地转录了查询吗? 'WHERE righttable.column为null'是一种常见的从'lefttable'查找行的方法,这些行没有由'lefttable LEFT JOIN righttable'生成的匹配行。但是你显示'WHERE lefttable.column为null'。 –