0
2つのテーブルを結合してSUMまたはCOUNTを使用しようとすると、すべてが完全に正常に動作します。しかし、3つのテーブルを結合するとき、SUMとCOUNTは意味をなさない。なぜなら、JOINステートメントは、各テーブルが一意の行を持つために追加の行を作成し、私は最初だけPO_club and PO_club_user
は、それが動作COUNT()
を得るために参加のような二つの別々のスクリプトを実行する場合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;
:ここ
はクエリです。そしてrun PO_club JOIN PO_club_point_log
を得て、
SUM()
を得てください。しかし、私はそれをフロントエンドでソートする必要がないように1つのスクリプトを実行する必要があります。
join 3 tables
への道はありますか何とか
COUNT()
はちょうど
PO_club and PO_club_users
の上で働いています
SUM
は
PO_club and PO_club_point_log
にかかりますか?
ありがとうございます!
クラブは何のユーザーを持っていない場合は、あなたがPO_club.clubid = PO_club_user.clubid' ON 'INNER JOINをPO_club_userのように出力クラブにしたくないですか? – Eggsalad
あなたのテーブルのスキーマと望ましい出力を示す方がはるかに優れています。 –