私はこのような3つのテーブルを持っています:
マンガ
| id | sendby
------------------
| 1 | 1
| 2 | 1
| 3 | 1
| 4 | 1
チャプラー
| id | sendby | translator | graphic
-------------------------------------------
| 1 | 1 | admin | other
| 2 | 1 | admin | other
| 3 | 1 | admin | admin
| 4 | 1 | other | admin
ユーザー
| userid | username
-----------------------
| 1 | admin
これまでに送信したものをカウントしようとしていますが、結果が正しくありません。
以下のクエリを試しました:
SELECT username,
SUM(
CASE WHEN m.sendby = u.userid
THEN 1 ELSE 0 END
) AS manga,
SUM(
CASE WHEN c.sendby = u.userid
THEN 1 ELSE 0 END
) AS chapter,
SUM(
CASE WHEN c.translator = u.username
THEN 1 ELSE 0 END
) AS translator,
SUM(
CASE WHEN c.graphic = u.username
THEN 1 ELSE 0 END
) AS graphic
FROM user u
left JOIN manga m
ON m.sendby = u.userid
left JOIN chapter c
ON c.sendby = u.userid
where u.userid = '1'
しかし、これは正しくありません。
マンガ : 16、チャプター : 16、翻訳者 : 12、グラフィック : 8