次の 3 つのテーブルがあると仮定して SQL
を解きます。
ta
ta_id (主キー) ta_name ta_cont ta_typeid
tb
tb_id (主キー) tb_taid tb_cont
tc
tc_id (主キー) tc_tatypeid tc_type
このうち、tb_taid が ta_id に対応し、tc_tatypeid が ta_typeid に対応し、今度は SQL で ta_name、ta_cont、count(tb_taid) を取り出します、tc_type の書き方
これは私のやり方です com の文 count(tb_taid) は、各 ta_id のカウントではなく、すべての ID のカウントを取り出します
select をどのように書けばよいでしょうか。 ta_name, ta_cont, count(tb_taid) as com ,tc_type from ta left join tb on ta_id=tb_taid left join tc on ta_typeid=tc_tatypeid order by ta_id desc;
------解決策- --------- ----------
グループ化キーを指定しないと、当然ながら正しい結果が得られません。
------解決策---------
select ta_name,ta_cont,count( tb_taid ) as com,tc_type from ta left join tb on ta_id=tb_taid left join tc on ta_typeid=tc_tatypeid GROUP BY ta_cont order by ta_id desc;
こんなネーミングは人をくらくらさせます。つまり、GROUP BY =_=...