Как добавить строку в результат запроса SQL с INNER JOIN? - PullRequest
0 голосов
/ 12 апреля 2011

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

SELECT colA, colB FROM my_table   
UNION  
SELECT 'foo' AS colA, 'bar' as colB;

Однако предположим, что я написал следующий SQL:

SELECT t1.colA, t1.colB, t2.colC FROM my_table t1 INNER JOIN my_other_table t2

Как я могу добавить свою дополнительную строку в my_table, когда она ВНУТРЕННЕ СОЕДИНЕНА к другой таблице, как эта?

Обновление : Ого, я просто обманываю.Уже почти пора домой.Я забыл свое предложение "где"!

SELECT t1.colA, t1.colB, t2.colC
FROM my_table t1
INNER JOIN my_other_table t2
  ON t1.colB = t2.colC

Ответы [ 3 ]

1 голос
/ 12 апреля 2011
SELECT 
    (t1.colA, t1.colB FROM my_table 
     UNION 
     SELECT 'foo' AS colA, 'bar' as colB) as t1 
INNER JOIN 
    my_other_table t2 ON . . .
1 голос
/ 12 апреля 2011
SELECT t1.colA, t1.colB, t2.colC FROM my_table t1 INNER JOIN my_other_table t2
UNION
SELECT 'foo' as colA, 'bar' as colB, 'baz' as colC
0 голосов
/ 12 апреля 2011

Просто замените mytable во втором запросе на (SELECT ...), весь первый запрос (в скобках):

SELECT t1.colA, t1.colB, t2.colC
FROM 
(   SELECT colA, colB
    FROM my_table
  UNION  
    SELECT 'foo' AS colA, 'bar' as colB
) AS t1
INNER JOIN my_other_table t2
  ON t1.colB = t2.colC     
;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...