发现一个奇怪的问题,mysql order by 某些字段会影响 left join的内容sql语句及结果如下:例子1:
  select * from (
    select t.id,t.device_type,t.product_id,t2.FILE_PATH,t2.ADD_DATE,t2.RSRV_STR1 from home_page t 
left join attach t2 on t.attach_id = t2.ATTACH_ID
where t.item_type != '1' union all select t.id,t.device_type,t.product_id,t3.FILE_PATH,t3.ADD_DATE,t3.RSRV_STR1 from home_page t 
left join product t2 on t.product_id = t2.PRODUCT_ID
left join attach t3 on t2.ATTACH_ID = t3.ATTACH_ROOT_ID
where t.item_type = '1'

) t      left join     (select t1.cust_id,t1.product_id,t1.product_name,t1.product_status,t5.cust_name,t3.max_price,t3.min_num
  from product t1 
  INNER JOIN v_product_price t3 ON t1.product_id = t3.product_id
  INNER JOIN company t5 on t1.CUST_ID = t5.CUST_ID) t2    on t.product_id = t2.product_idwhere t.device_type = 1
order by t.id,t.ADD_DATE desc,t.RSRV_STR1 desc
order by 中加上 t.id 的时候左连接中没内容。
例子2:order by 中去掉 t.id 的时候左连接中有内容,为毛呢?想不通请教大神