これは単純な問題であり、ここで可能かどうかはわかりません。問題は次のとおりです。
=> http://sqlfiddle.com/#!12/584f1/7
説明:
- チケットは出席者のものです
- 出席者には収益があります
- チケットをセクションごとにグループ化し、総収入を得る必要があります。
- これは、2 枚のチケットが同じ出席者に属する可能性があるため、出席者が二重にカウントされ、二重にカウントされます。収益の合計を取得したいのですが、出席者を 1 回だけカウントします。
私のsqlfiddleの例では、次のことを確認したいと思います:
section | total_revenue
------------------------
A | 40 <= 40 is correct, but I'm getting 50...
B | null
C | 40
サブクエリを使用せずにこれを解決したいと思います。単一のクエリで異なる結合の複数の列に対してこれを実行できるスケーラブルなソリューションが必要です。したがって、これを達成できるものは何でも、私は提案を受け入れます。
ご協力いただきありがとうございます。