我有桌子
| WorkerID | ProjectName | Role |
|----------|-------------|--------|
| 1 | Test | Leader |
|----------|-------------|--------|
| 4 | Test | Worker |
|----------|-------------|--------|
| 2 | Stuff | Leader |
|----------|-------------|--------|
| 3 | Proj | Worker |
現在我想列出每個沒有指定領導者的專案名稱,如下所示:
| ProjectName |
|-------------|
| Proj |
現在我只知道如何使用領導者過濾所有專案名稱,但不知道如何以其他方式過濾它們!
任何幫助表示贊賞:)
uj5u.com熱心網友回復:
一種方法是使用聚合和HAVING子句中的條件:
SELECT ProjectName
FROM tablename
GROUP BY ProjectName
HAVING SUM(Role = 'Leader') = 0;
uj5u.com熱心網友回復:
(僅供參考:我主要熟悉 PostgreSQL,所以我不確定這是否可以完全轉移)
我會做一個子查詢來識別有領導者的專案,并在你的主查詢中,做一個WHERE選擇所有NOT IN子查詢專案的陳述句。
SELECT ProjectName
FROM Table
WHERE ProjectName NOT IN (
SELECT ProjectName
FROM Table
WHERE Role = 'Leader'
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/400179.html
