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

发布于 2024-12-02 03:34:06 字数 373 浏览 0 评论 0原文

如何在不同的 select 语句或复合 select 语句之间使用别名?我想做类似的事情

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

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

谢谢。

(我将 SQLite 与 Qt 一起使用,如果这有什么区别的话。

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

How can I use an alias across different select statements or across a compound select statement? I want to do something like

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

But of course "bla2" is not recognized in the second select statement. (I realize doing this is not particularly useful here, but I'm trying to do something where "bla" is actually a whole sub select statement.)

Thanks.

(I'm using SQLite with Qt, if that makes any difference.

EDIT: so I just learned that there is something called a CTE that might be useful here, but which SQLite does not support.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

羅雙樹 2024-12-09 03:34:06

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

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

You cannot reuse aliases this way, but you can alias a whole subquery, so you could write:

select
  *
from
  (select * from bla
  union all
  select * from blo) bli
  inner join anothersometing a on bli.id = a.id
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文