0
所以這個查詢的目的是顯示罪犯的ID,姓氏和名字(所有這些都可以在「罪犯」表中找到),然後只顯示有超過一個句子的罪犯 - 我通過使用HAVING子句來做到這一點,該句子顯示罪犯必須具有多於一個sentence_id(句子表主鍵)的情況。當我在下面的代碼類型然而,我收到一個錯誤,說:「這是用於列命名加入(或自然連接或使用USING子句的JOIN)不能有一個明確的限定。GROUP BY,HAVING和JOINS的問題
SELECT c.criminal_id, c.last, c.first
FROM criminals c JOIN sentences s USING (criminal_id)
GROUP BY s.criminal_id
HAVING COUNT(s.sentence_id) > 1;
我嘗試刪除限定符(我知道它是列名前面的c和s),但後來發現一個錯誤,表示查詢不是GROUP BY表達式。在這裏試圖弄清楚這件事情,如果你能幫忙,我會很感激。謝謝。
雖然我會建議把別名放在'c.last,c.first'上。更好的是,避免使用USING語法並明確指出:'ON c.criminal_id = s.criminal_id'。 – 2014-11-21 03:09:05