繁体   English   中英

MySQL undefined别名,带有联合选择和别名

[英]MySQL undefined alias with union select and alias

所以我有这个表,如果我使用此查询,一切都很好:

SELECT *
FROM `users` AS usr
WHERE usr.id = 9
ORDER BY usr.id ASC , usr.date DESC
LIMIT 0 , 30

但是,当我尝试使用并集选择时,我得到一个错误:

SELECT *
FROM `users` AS usr   
WHERE usr.id = 9
UNION ALL SELECT 1,2,3,4,5
ORDER BY usr.id ASC , usr.date DESC
LIMIT 0 , 30

我在order子句中收到错误未知列'usr.id'。 我该如何解决这个问题,以便联合选择可以使用它? 谢谢。

编辑:有什么办法做到这一点,同时保持我原来的查询完好无损,而又没有改变太多?

查询:

SELECT a.*
FROM(SELECT *
     FROM `users` AS usr   
     WHERE usr.id = 9
     UNION ALL 
     SELECT 1,2,3,4,5) a
ORDER BY a.id ASC , a.date DESC
LIMIT 0 , 30

第二个表没有列id 这样做:

SELECT id, ...
FROM `users` AS usr   
WHERE usr.id = 9
UNION ALL SELECT 1 id, ...
ORDER BY id ASC... DESC
LIMIT 0 , 30

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM