まずテーブルA、B、C、Dの4つを用意します。 --------------------------------
A | B | D
アブ | アド 1 1 |
2 | 1 | 2 |
3 4 3 |
4 6 4 4 |
-------------------------------- |
次に、SQL ステートメントを使用して、テーブル A、テーブル B のすべての列、およびテーブル A のフィールドに関連付けられた列をカウントし、テーブル D をテーブル A からテーブル C まで関連付けます。得られる結果は次のとおりです。
1 1 3 1
2 2 1 2
3 4 0 3
4 6 0 4 |
MySQL ステートメントの解決策:
Aa,Ab,IFNULL(c,0) を c,Da として選択
from (a として 1、b として 2 を選択) すべてを結合
2 を a、2 を b として選択し、すべてを結合します
aとして3を選択、bとして4をすべて結合
aとして4、bとして6を選択) Aとして
左外部結合
(a,count(a) を c から選択します(
1 を a、3 を c として選択し、すべてを結合します
1 を a、3 を c として選択し、すべてを結合します
1 を a、3 を c として選択し、すべてを結合します
2 を a、3 を c として選択します) B を a) としてグループ化します
onAa=Ba
参加する
(a として 1、d として 'A' を選択、すべてを結合
a として 2 を選択し、d として 'B' を選択し、すべてを結合します
a として 3 を選択し、d として 'C' をすべて選択します
a として 4 を選択し、 d として 'D' ) を C として選択します
onAa=Ca
join(a として 1 を選択、d として 'A' を選択 すべて結合
a として 2 を選択し、d として 'B' を選択し、すべてを結合します
a として 3 を選択し、d として 'C' をすべて選択します
a として 4、d として 'D' ) を D として選択
Dd=Cd で |