这一张表格有两部分拼在一起,上部分是报修单有bxrq是报修日期,tbsj是填报时间(填的时间和报修的时间可以不相同)下部分有意见单,有jyrq是建议日期!!问题是order by UNIX_TIMESTAMP(case when bxrq is null then jyrq else tbsj end) desc这是我写的的语句,需要就是按照时间戳倒序排序,当报修日期bxrq为空时按建议日期jyrq排序,否则还是按填报时间tbsj排倒序!!但是实际预览的时候发现,如果新建一个报修单有bxrq是报修日期的时候,没有意见单建议日期jyrq为空时,应该出现的第一个是新填写的报修单可是实际出来的是意见单的建议日期jyrq倒序排列然后接下来才是我最新写的那条有报修日期bxrq的报修单需要怎么修改!!整个语句是bxr事报修人,yjjyr意见建议人,bxrq报修日期,建议日期jyrq,tbsj填报时间select * from ((SELECT * FROM bb_hqb_db_tb d LEFT JOIN bb_hqb_yjjyb_tb y ON d.bxr=y.yjjyr and d.bxrq = y.jyrq )union (SELECT * FROM bb_hqb_db_tb d right JOIN bb_hqb_yjjyb_tb y ON d.bxr=y.yjjyr and d.bxrq = y.jyrq where d.bxr is null )) aorder by UNIX_TIMESTAMP(case when bxrq is null then jyrq else tbsj end) desc