Mysql联盟帮助

时间:2011-04-16 09:07:23

标签: mysql union

嗨我有这样的查询

  

SELECT column1,MAX(column2)AS MAX FROM   table1 GROUP BY column1 ORDER BY MAX   DESC;

我有一个名为table2的第二个表,并且具有相同的column2但不同的column1名称, 我想将此查询应用于这些表的联合,当我尝试这个

  

SELECT column1,MAX(column2)AS MAX FROM   ((SELECT * FROM table1)union(SELECT   * FROM table2))GROUP BY column1 ORDER BY MAX DESC;

我收到此错误“ERROR 1248(42000):每个派生表都必须有自己的别名”

我该怎么做?谢谢你的帮助...

1 个答案:

答案 0 :(得分:0)

别名出现在派生表定义

之后
SELECT column1,MAX(column2) AS MAX FROM 
(SELECT * FROM table1 union SELECT * FROM table2) t3 
GROUP BY column1 ORDER BY MAX DESC;

别名为t3