【发布时间】:2017-12-29 05:49:14
【问题描述】:
我是 SQL 查询的初学者。我需要在表中找到尚未成功的 Error1 记录。
我的桌子是这样的:
ImportId LineNumber Status
---------------------------------
195 6 Success
195 5 Success
195 5 Error1
195 6 Error1
195 7 Error1
195 8 Success
195 9 Error2
此查询不返回 importId 为 195 且行号为 7 的行
select *
from Table1
where not exists (select success.ImportID, success.LineNumber
from Table1 success
join
(select ImportID, LineNumber
from Table1
where status = 'Error1') overlap on overlap.linenumber = success.LineNumber
and overlap.ImportID = success.ImportID
where success.status = 'success')
【问题讨论】:
-
运行子查询,看看会出现什么。
-
感谢排版,下次我会多练习一点。
-
子查询显示为 195 5 195 6
-
感谢您的回复。我只寻找没有匹配成功的 Error1 记录。
-
我还不能投票,但答案和查询非常有帮助。我已经标记了一个首先对我有用的答案。再次感谢您。
标签: sql sql-server tsql