我在這方面花了大量的時間,但我仍然沒有完全正確。編寫正確的SQL查詢
顯示標題,標題和擁有多個作者的所有書籍的作者數量。我有這個,但不認爲這是完全正確的。使用3個表格(標題,titleauthor和作者)。標準不應該是au_id和它的次數嗎?我的代碼爲每個title_id返回25的奇怪列。我想了解如何編寫正確的語法......來自羅嗦的問題。
SELECT titles.title_id, titles.title, COUNT(titleauthor.au_id) AS nbrAuthors
FROM titles CROSS JOIN titleauthor
GROUP BY titles.title_id, titles.title
HAVING COUNT(titleauthor.au_id) >1
更新的代碼:我認爲就是這樣!寫出僞代碼對這個有很大的幫助。
SELECT titles.title_id, titles.title, COUNT(titleauthor.au_id) AS nbrOfAuthors
FROM titles LEFT JOIN titleauthor ON titles.title_id = titleauthor.title_id
GROUP BY titles.title, titles.title_id
HAVING COUNT(titleauthor.au_id)>1;
'一個JOIN b加入C ... GROUP BY ...' – Mihai
你甚至知道你爲什麼使用'CROSS JOIN'。 – user2989408
爲什麼使用交叉連接?我想你需要弄清楚如何將titleauthor加入標題。 – Andrew