SQL: используйте псевдонимы таблиц в нескольких операторах выбора - PullRequest
0 голосов
/ 28 августа 2011

Как я могу использовать псевдоним для разных операторов выбора или для составного оператора выбора?Я хочу сделать что-то вроде

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

Но, конечно, «bla2» не распознается во втором операторе выбора.(Я понимаю, что делать это здесь не особенно полезно, но я пытаюсь сделать что-то, где «bla» - это целое утверждение sub select.)

Спасибо.

(яиспользуя SQLite с Qt, если это что-то меняет.

РЕДАКТИРОВАТЬ: поэтому я только что узнал, что есть нечто, называемое CTE, которое может быть полезно здесь, но которое SQLite не поддерживает.)

1 Ответ

2 голосов
/ 28 августа 2011

Вы не можете использовать псевдонимы таким образом, но вы можете использовать псевдоним для всего подзапроса, поэтому вы можете написать:

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