繁体   English   中英

当一个字段为null时,左外连接

[英]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

使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM