2011-08-27 94 views
0

如何跨不同的select語句或複合select語句使用別名?我想要做類似SQL:跨多個select語句使用表別名

SELECT * FROM bla AS bla2 INNER JOIN somethingelse 
UNION 
SELECT * FROM bla2 INNER JOIN anothersomething 

但是當然「bla2」在第二個select語句中沒有被識別。 (我意識到這樣做並不是特別有用,但我試圖做一些「bla」實際上是整個子選擇語句的東西。)

謝謝。

(我使用SQLite使用Qt,如果有什麼差別

編輯:所以我才瞭解到,有一些所謂的CTE可能會在這裏有用,但SQLite不支持的。)

回答

2

您不能重複使用別名這樣,但你可以別名整個子查詢,所以你可以寫:

select 
    * 
from 
    (select * from bla 
    union all 
    select * from blo) bli 
    inner join anothersometing a on bli.id = a.id 
+0

感謝。 =)看起來我需要解決我的問題解決技巧...... – JohnJamesSmith0