很多類似的問題 - 主要問題是關于如何選擇一個只有一個列不同的重復項,但我想從查詢中排除所有這些,只獲取特定欄位沒有不同的那些.
我正在尋找所有reference_no狀態為 -1 的狀態,除了狀態為 -1 和 1 的相同 reference_no 的情況,如下表所示。查詢應該只回傳行 ID 4。我該怎么做?
這是使用 SQL Server 2016
| id | process_date | status | reference_no |
| --- | ------------ | ------ | ----------- |
| 1 | 12/5/22 | 1 | 789456 |
| 2 | 12/5/22 | -1 | 789456 |
| 3 | 12/5/22 | 1 | 789456 |
| 4 | 12/5/22 | 1 | 321654 |
uj5u.com熱心網友回復:
如果我理解正確你想要一個不存在的檢查
select *
from t
where status = -1
and not exists (
select * from t t2
where t2.status = 1 and t2.reference_no = t.reference_no
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431797.html
標籤:tsql
上一篇:T-SQL:獲取表中以制表符分隔的列名串列-我的示例有什么問題?
下一篇:在SQL中將2列計數為1
