如何在不同的select语句或复合select语句中使用别名?我想做像
这样的事情SELECT * FROM bla AS bla2 INNER JOIN somethingelse
UNION
SELECT * FROM bla2 INNER JOIN anothersomething
但当然“bla2”在第二个选择语句中无法识别。 (我意识到这样做并不是特别有用,但我正在尝试做一些“bla”实际上是一个完整的子选择语句。)
感谢。
(我正在使用带有Qt的SQLite,如果这有任何区别。
编辑:所以我刚刚得知有一种称为CTE的东西在这里可能很有用,但SQLite不支持。)
答案 0 :(得分:2)
您不能以这种方式重用别名,但您可以为整个子查询添加别名,因此您可以编写:
select
*
from
(select * from bla
union all
select * from blo) bli
inner join anothersometing a on bli.id = a.id