SQL:在多个select语句中使用表别名

时间:2011-08-27 22:12:22

标签: sql sqlite alias common-table-expression

如何在不同的select语句或复合select语句中使用别名?我想做像

这样的事情
SELECT * FROM bla AS bla2 INNER JOIN somethingelse
UNION
SELECT * FROM bla2 INNER JOIN anothersomething

但当然“bla2”在第二个选择语句中无法识别。 (我意识到这样做并不是特别有用,但我正在尝试做一些“bla”实际上是一个完整的子选择语句。)

感谢。

(我正在使用带有Qt的SQLite,如果这有任何区别。

编辑:所以我刚刚得知有一种称为CTE的东西在这里可能很有用,但SQLite不支持。)

1 个答案:

答案 0 :(得分:2)

您不能以这种方式重用别名,但您可以为整个子查询添加别名,因此您可以编写:

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