以下のような三つのテーブルがあります。
T_a
id parent_id name
———————————
1 null くだもの
2 1 りんご
3 1 みかん
4 1 ぶどう
5 null やさい
6 5 キャベツ
7 5 かぼちゃ
8 5 にんじん
T_b
user_id id
——————
a 2
a 6
b 3
b 8
c 8
d 4
T_c
user_id name
——————
a たろう
b はなこ
c じろう
d ごんすけ
求めたい結果は以下です。
a たろう りんご キャベツ
b はなこ みかん にんじん
c じろう null にんじん
d ごんすけ ぶどう null
この際のクエリーをご教示願います。
mysqlを使っています。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
普通はほしい結果のNULLは消えて、文字列は結合する
create table T_a(id int , parent_id int null, name varchar(10));
insert into T_a values(1,null,'くだもの'),(2,1,'りんご'),(3,1,'みかん'),(4,1,'ぶどう'),(5,null,'やさい'),(6,5,'キャベツ'),(7,5,'かぼちゃ'),(8,5,'にんじん');
create table T_b(user_id varchar(10) , id int);
insert into T_b values('a',2),('a',6),('b',3),('b',8),('c',8),('d',4);
create table T_c(user_id varchar(10) , name varchar(10));
insert into T_c values('a','たろう'),('b','はなこ'),('c','じろう'),('d','ごんすけ');
結果:
select *,(select group_concat(T_a.name)
from T_b inner join T_a on T_a.id=T_b.id
group by user_id
having user_id=T_c.user_id
) as names
from T_c
T_bのnameを2列にしたいなら何が前で何が後ろになるか明確な
ロジックが必要。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL mysqlの結合について教えてください 1 2022/05/19 15:13
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
同一のユーザー、同一商品のと...
-
マイクラPC版のコマンドで効率...
-
テーブル名を省略して「h.id」...
-
副問合せの書き方について
-
複数テーブルのGROUP BY の使い...
-
select文のwhere句に配列を入れ...
-
SQLで残高計算
-
クエリ表示と、ADOで抽出したレ...
-
php+MySQLでレコードが何行目か...
-
select文で特定のIDを抽出しupdate
-
MySQLでのバイナリデータ削除方法
-
sqlで、600行あるテーブルを100...
-
SQL Left Join で重複を排除す...
-
書籍の内容はまともでしょうか?
-
MySQLのint型で001と表示する方...
-
【MySQL】本当に困っているので...
-
SQLサーバから、項目の属性(型...
-
SELECT/別テーブルのレコード...
-
AUTO_INCREMENTのあるテーブル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
副問合せの書き方について
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
select文のwhere句に配列を入れ...
-
selectした大量データをinsert...
-
センノシド異性体構造式
-
Unionした最後にGROUP BYを追加...
-
insertを高速化させたい
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
ある条件の最大値+1を初番する...
-
inner joinをすると数がおかし...
-
sqlで、600行あるテーブルを100...
-
エクセルの関数について教えて...
-
Access パラメータクエリをcsv...
-
URL と行番号の指定
-
複数テーブルのGROUP BY の使い...
-
PL/SQLの変数について
おすすめ情報