2 ysysdzz ysysdzz 于 2016.03.23 11:23 提问

求助一条SQL语句及原理,具体请看描述!

图片说明
如图所示订单表 pid 为null的是主订单
需求是 按主订单ddate倒序排列,子订单排在主订单后面
最终结果如图:
图片说明
我写的SQL语句可以实现

 SELECT DISTINCT id from (
    SELECT b.id,  a.ddate FROM `tttest` a , `tttest` b
    where a.id = b.pid
    union
    SELECT c.id,c.ddate from tttest c 
) t ORDER BY t.ddate desc ,id

但是太复杂 求一条简介的SQL

1个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.03.23 11:35
 类似
 SELECT * FROM (
   select id,ifnull(pid,id) pid ,ddate from tttest 
 ) t order by ddate desc,pid,id
 当然,如果不同订单时间有交叉这个有点问题,需要在内部语句组合key
ysysdzz
ysysdzz 如果不同订单时间有交叉这个有点问题,需要在内部语句组合key 这个不太明白啊 还是麻烦写具体吧。。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!