我有一張這樣的桌子:
| 檔案 | 日期 | 鑰匙 | 小時 | 部門 | 狀態 |
|---|---|---|---|---|---|
| 99KN001000002 | 2000-12-28 | 12:04:51 | 部門 1 | ||
| 99KN001000002 | 2000-12-28 | 12:05:35 | DEP 2 | ||
| 99KN001000002 | 2000-12-28 | 12:06:31 | DEP 3 | ||
| 99KN001000002 | 2000-12-28 | 12:07:17 | DEP 4 | ||
| 99KN001000003 | 2000-12-29 | 12:07:17 | 部門 1 |
我想找出所有以“DEP 1”為唯一記錄的檔案
uj5u.com熱心網友回復:
這應該適用于任何 RDBMS:
select DOC from table_name
where DEPARTAMENT = 'DEP 1'
and DOC not in
(select DOC from table_name where DEPARTAMENT <> 'DEP 1');
您可以使用MINUS或者EXCEPT如果您的 RDBMS 支持這些。
uj5u.com熱心網友回復:
另一種方式:
select t.*
from test_tbl t
inner join (select doc,
count(distinct STATUS) as nr_status
from test_tbl
group by doc
) as t1 on t.doc=t1.doc
where t1.nr_status =1 ;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/441834.html
上一篇:SQL加快我的更新速度-PostgresQL中的左連接
下一篇:SQL:從多列的值中拆分行
