0
當我嘗試連接2個表並使用SUM或COUNT時,它可以完美並按預期工作。但是,當我連接3個表時,SUM和COUNT沒有任何意義,因爲JOIN語句會爲每個表創建額外的行,使其具有唯一的行,因此它們會重複計算並重新計算所需的值。SQL在連接3個表時使用count和sum
下面是該查詢:
SELECT PO_club.clubid, PO_club.name, PO_club.pic, PO_club.points, count(PO_club_user.userid), SUM(PO_club_point_log.points)
FROM PO_club
INNER JOIN PO_club_user ON PO_club.clubid = PO_club_user.clubid
LEFT JOIN PO_club_point_log ON PO_club.clubid = PO_club_point_log.clubid
WHERE PO_club.deleted = 0
GROUP BY PO_club.clubid
ORDER BY PO_club.points DESC;
如果我運行兩個獨立的腳本,只喜歡PO_club and PO_club_user
得到COUNT()
它的作品第一次參加。然後run PO_club JOIN PO_club_point_log
得到SUM()
其一切都很好。但是,我需要運行它一個腳本,以便我不需要在前端進行分類。有沒有辦法join 3 tables
,不知何故COUNT()
只是在PO_club and PO_club_users
上工作,而SUM
只在PO_club and PO_club_point_log
?
謝謝!
如果俱樂部有沒有用戶,你不希望輸出的俱樂部,如'INNER JOIN PO_club_user ON PO_club.clubid = PO_club_user.clubid'? – Eggsalad
更好地顯示您的表格模式和所需的輸出。 –