[英]left outer join when one field null
我有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
有时t3id在t3表中没有出现,那时我需要结果作为名称,日期,在一个查询中怎么可能?
即使某些值为null
也可以使用ifnull()
使concat()
工作
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
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.