私は現在、次の問題に直面しています: 私は情報が必要な3つのテーブルがあり、これらの結合は両方とも1対多です。いくつかの理由が第二の参加のための列の複製を作成し、その結果第2の戻り値が台無しになるにつれて複数の左結合を持つSQL複製行
SELECT aa.id, sum(bb.count), count(DISTINCT cc.id)
FROM aaaa aa
LEFT JOIN bbbb bb ON bb.aa_id = aa.id
LEFT JOIN cccc cc ON cc.bb_id = bb.id
GROUP BY aa.id
の適切な合計を取得する方法はあります(bb.countは、第二の参加行の量を掛けます)別のクエリを使わないでbb.count? 2番目の左のジョインをすべて削除した瞬間、残念ながら3番目の戻り値が必要なので、結果で重複する(並べ替え)結果を出さずにグループ化することはできません。
は
bb1.count = 9
bb2.count = 5
がありますと言うと私が得るcc.bb_id = bb1.id
結果は、あなたが上記のクエリで集計ファンアウトを経験している代わりに、14
最小作業サンプル? –