2013-08-27 100 views
1

所以我有這個表,如果我用這個查詢一切都很好:與工會的MySQL未定義別名選擇和別名

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 

我爲了條款得到錯誤未知列「usr.id」。我如何解決這個問題,以便工會選擇使用它?謝謝。

編輯:有沒有辦法做到這一點,同時保持我的原始查詢機智,而不是太多改變它?

回答

2

查詢:

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 
0

二表沒有列id。這樣做:

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