这里的效果应该是把上级数据id查出来用, 拼接返回(用于其它查询或条件判断)
所以,这个查询并没有多个结果集,只是按id以及上级所有id查询出一系列数据而已
数据查询出来后是没有层级关系的,只是扁平的一组二维数据,需要按关系排列的话,可以手动排列
else不能直接级联,只能级联case,应该这么写1。如果各个when条件互斥的话
select
pre.enabled,pre.link,ad.link as adlink,
CASE
WHEN pre.link=='' THEN 0
WHEN pre.link!=ad.link THEN 1
WHEN pre.enabled==0 THEN 2
ELSE 3
END CASE
from
_ad_pre as pre
left join
_ad as ad
on ad.adid=pre.adid
2.如果各个条件之间有包含关系
select
pre.enabled,pre.link,ad.link as adlink,
CASE
WHEN pre.link=='' THEN 0
ELSE
CASE
WHEN pre.link!=ad.link THEN 1
ELSE
CASE
WHEN pre.enabled==0 THEN 2
ELSE 3
END CASE
END CASE
END CASE
from
_ad_pre as pre
left join
_ad as ad
on ad.adid=pre.adid
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)