sql复杂语句记录

查询所有手术预约及相对应的安排,如果安排的pk不为null,则用逗号隔开(如果有多个)。mysql中sql语句如下:

select distinct a.pk, a.surgeryName, a.clerkName, a.customerName, a.orderTime, b.forecastTime, b.pk surgery_pk,
case 
    when c.pk is not null then  (select group_concat(d.pk) from surgery_arrange d where d.surgery_order_fk=a.pk) 
    else null end surgery_arrange_pk 
from (surgery_order a left join surgery b on a.surgery_fk=b.pk) left join surgery_arrange c on a.pk=c.surgery_order_fk 
order by surgery_arrange_pk desc, a.orderTime asc 
limit 0,10

结果如下图所示:


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。