Sql-Server
選擇在另一個表中無法找到所有值的 IDS
嘿,我對 SQL 很陌生,但我遇到了一個我無法解決的問題
我正在嘗試進行查詢以調出具有所有空值且位於另一個表中的 ID。
數據庫看起來像:
表格1
BOOK ID| User ID 1 | 1 1 | 2 2 | 17 2 | 16 3 | 17 3 | 16 4 | 3 4 | 16
表 2
USER ID | Name 1 | Jeff 2 | Bill 3 | Fred
期望的結果是顯示 Book ID 2 和 3,因為這兩個 ID 都只有在表 2 中找不到的使用者。
我認為這句話很清楚,使用左連接來獲取空 USER_ID 並返回那些 count = 0;
SELECT BOOK_ID, COUNT(USERS.USER_ID) AS USERS FROM BOOKS LEFT JOIN USERS ON USERS.USER_ID = BOOKS.USER_ID GROUP BY BOOK_ID HAVING COUNT(USERS.USER_ID) = 0;
BOOK_ID | 使用者 ------: | ----: 2 | 0 3 | 0
db<>在這裡擺弄
select a.bookid from table1 a left join table2 b on a.userid = b.userid group by a.bookid having count(b.userid) = 0