Как объединить два результата запроса в один и у меня разные имена столбцов - PullRequest
0 голосов
/ 22 мая 2018

У меня есть два запроса, которые я хочу объединить в один вывод, я не могу использовать оператор Union, потому что у них разное количество столбцов.

**First query result**

A1     A2

10     15

**Second query Result**

B1   B2

5      10

**The final result would be**

A1    A2     B1     B2

10    15     5       10

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Вот небольшой трюк:

SELECT *
FROM q1
LEFT JOIN q2 ON 1 = 1
0 голосов
/ 22 мая 2018

Если у вас есть только одна строка из каждого запроса, это просто CROSS JOIN

SELECT
  *
FROM
  (query1)   AS q1
CROSS JOIN
  (query2)   AS q2

Если у вас есть более одной строки из каждого запроса, вам нужно INNER JOIN или, возможно, FULL OUTER JOIN и некоторую взаимосвязь между двумя наборами данных, так что вы можете указать движку SQL, какая строка присоединяется к какой строке ...

SELECT
  *
FROM
  (query1)   AS q1
FULL OUTER JOIN
  (query2)   AS q2
      ON  q2.id2 = q1.id1   -- Or some other predicate

Примечание:

  • UNION добавляет данные по вертикали
  • JOIN добавляет данные по горизонтали
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...