プロが教えるわが家の防犯対策術!

テーブル1
番号(ユニーク) その他のデータ
1  データ
2  データ
3  データ
...

テーブル2
番号 名前 その他のデータ
1  名前A データ
1  名前A データ
2  名前B データ
3  名前C データ
3  名前C データ
...
を、結合を使って
1  名前A テーブル1のデータ
2  名前B テーブル1のデータ
3  名前C テーブル1のデータ
...というようにしたいのですが、group by をつかわないで得る方法はありますか?(対象テーブルから1件だけ結合したい。)

たとえば、複数の結合をこのようにした時、if()の中のカウントが、他の結合の影響を受けてしまいます。
select a.*,b.名前,if(count(c.番号) > 1,"複数",c.名前)
from
テーブル1 a
left join テーブル2 b on b.番号 = a.番号
left join テーブル3 c on c.番号 = a.番号
group by a.番号,b.番号,c.番号
わかりづらい質問ですみません。

A 回答 (1件)

RDBMSはMySQLなのですよね?


バージョンは何ですか?

>group by をつかわないで得る方法はありますか?

どういう理由ですか?
質問中のSQLは、group byの使い方が正しくないので、そのためでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す