1 つの MySQL db クエリで 1 つのクロス結合と 2 つの左結合 (グループの合計) を使用するにはどうすればよいですか?
以下は機能しますが、カウント結果が間違っています (COUNT
同じ結果と間違った結果の両方を返します)。
SELECT
n_users.username, n_users.email,
COUNT(n_messages.ads_id ) AS msg_cnt,
COUNT(`n_coversation`.user_id ) AS cnv_cnt,
SUM(n_transaction.debit), SUM(n_transaction.credit)
FROM
n_users JOIN (n_ads , n_messages) ON
(n_ads.user_id=n_users.id AND n_messages.ads_id=n_ads.id )
LEFT JOIN n_coversation ON (n_coversation.user_id=n_users.id)
LEFT JOIN n_transaction ON (n_transaction.user_id=n_users.id)
WHERE
n_users.id =5
GROUP BY
n_transaction.user_id