こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

LEFT JOIN と GROUP BY

こんにちは。
以下の2つのテーブルを結合して、
subcategory_item_idごとのアンケート数を取得したいと思っております。

サブカテゴリー項目テーブル
subcategory_item_id
category_id
subcategory_id
subcategory_item_name
content
image_url

アンケート詳細テーブル
enquete_detail_id
enquete_id
store_id
category_id
subcategory_id
subcategory_item_id

試しに作成した以下のSQL文でMySQLで実行したところ、アンケート詳細テーブルにsubcategory_item_idが含まれていない場合も件数0のレコードとして取得したいのですが、うまく取得できませんでした。

select
sci.subcategory_item_id,
sci.subcategory_item_name,
count(ed.enquete_detail_id) c
from subcategory_item sci
left join enquete_detail ed
on (ed.subcategory_item_id = sci.subcategory_item_id)
group by ed.subcategory_item_id

お手数をおかけしますが、ご教授いただけると助かります。
よろしくお願いいたします。

投稿日時 - 2006-10-17 12:28:07

QNo.2478294

すぐに回答ほしいです

質問者が選んだベストアンサー

group by句を間違えていないでしょうか?
group by sci.subcategory_item_id,sci.subcategory_item_name

でいけませんでしょうか?

投稿日時 - 2006-10-17 17:15:03

お礼

まさしくその通りでした!
初歩的なミスをご指摘いただき大変感謝です!

投稿日時 - 2006-10-19 21:05:39

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

from の後に来るのが enquete_detail テーブルで
left join の後に来るのが subcategory_item テーブルじゃないですかね?

書くところを逆転させてみてください。

投稿日時 - 2006-10-17 12:49:37

お礼

回答ありがとうございます。
逆に書いてみましたが、さらに抽出されたデータが絞り込まれてしまい、うまくいきませんでした。。

投稿日時 - 2006-10-17 15:57:35

あなたにオススメの質問