看板 Database 關於我們 聯絡資訊
請問大家, 若我現有一table的schema如下 Books(Library_name: string, ISBN: string, Book_name: string) (無PRIMARY KEY 的限制) 而我想找出這其中每個圖書館都有的書, 且回傳每間圖書館的本數 L_NAME ISBN B_NAME BOOKCOUNT ------------- -------------------- ---------------- ----------- LIBRARY A 0-12345-678-3 DM BOOK 1 LIBRARY A 0-12345-678-9 DB BOOK 2 LIBRARY B 0-12345-678-3 DB BOOK 2 LIBRARY B 1-12345-678-6 DM BOOK 1 我本來的寫法: SELECT LIB1.L_NAME, LIB1.ISBN, LIB1.B_NAME, COUNT (*) BOOKCOUNT FROM BOOKS LIB1 WHERE LIB1.L_NAME = 'A' GROUP BY LIB1.L_NAME, LIB1.ISBN, LIB1.B_NAME HAVING EXISTS ( SELECT LIB2.L_NAME, LIB2.ISBN, LIB2.B_NAME, COUNT (*) FROM BOOKS LIB2 WHERE LIB2.L_NAME = 'B' GROUP BY LIB2.L_NAME, LIB2.ISBN, LIB2.B_NAME HAVING LIB1.ISBN = LIB2.ISBN AND LIB1.B_NAME = LIB2.B_NAME ); 但這樣只能回傳LIBRARY A的書及數量而已, 請問有更好的SQL語法嗎? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 67.171.67.160
tactical:你的ISBN是可以重複用的?(第一行跟第三行) 10/16 14:30
cytogenous:是的 無PRIMARY KEY CONSTRAINT 10/16 23:14