3

私は3つのテーブルt1、t2、t3を持っており、そのフィールドは以下に示されています

t1- t1id,name,age;
t2- t2id,t1id,date;
t3- t3id,t2id,time;

私のクエリは

select concat(t1.name,',',t2.date,',',t3.time) 
from t1 
left outer join t2 on t1.t1id=t2.t1id 
left inner join t3 on t2.t2id=t3.t2id
where t1.age= 12

その時点でt2idがt3テーブルに存在しない場合があります。名前、日付として結果が必要ですが、単一のクエリでどのように可能ですか?

4

1 に答える 1

1

ifnull()一部のconcat()値がnull

select concat(t1.name, ',', ifnull(it2.date, ''), ',', ifnull(t3.time,'')) 
from t1 
left outer join t2 on t1.t1id=t2.t1id 
left inner join t3 on t2.t2id=t3.t2id 
where t1.age= 12

使用のCONCAT_WS()

select concat_ws(',', t1.name, it2.date, t3.time) 
from t1 
left outer join t2 on t1.t1id=t2.t1id 
left inner join t3 on t2.t2id=t3.t2id 
where t1.age= 12
于 2013-09-19T09:39:42.293 に答える