SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT * FROM m_order_201702 o LEFT JOIN m_order_product_201702 p ON o.order_id = p.order_id ) AS o1 UNION ALL
SELECT * FROM (SELECT * FROM m_order_201703 o LEFT JOIN m_order_product_201703 p ON o.order_id = p.order_id) AS p1) AS t) AS s WHERE s.name = 888
LIMIT 0,20
这样会报
Duplicate column name 'id'
我的"SELECT * FROM (SELECT * FROM (SELECT * FROM m_order_201702 o LEFT JOIN m_order_product_201702 p ON o.order_id = p.order_id ) AS o1"这个语句是动态添加用java添加的的,会逐月添加,"*"变为所需的字段又太多了,有没有更优的方法,求大神解答?
看到那么多 select * from 心就塞了
既然都提示 Duplicate 'id' 了,都列名重复了,既然你又不能把 * 改成你的字段
想到一个笨办法,先取表的字段名,然后做去重复,然后再查询
两个表分开拿吗
@dom树: 既然提示字段重复,你又要 * ,笨办法先查出来 给个变量里面,然后去重复,再select 变量 from 表
@风醉: 可以不要* 只是字段太多了
@dom树: 能写字段就尽量写字段,多点没关系
@风醉: 知道了,谢谢