У меня есть несколько запросов, чтобы объединить все результаты запроса в одну таблицу - PullRequest
0 голосов
/ 21 апреля 2020
table1:                     table2
studentname                StudentAge   
 stuart                      18  

У меня есть следующие запросы, такие как 1)

select studentname as sname from table1;
  sname
  Stuart

2)

select StudentAge as age from table2;
  age
  18

Я хочу отобразить результаты запроса в таблице, имеющей два столбца:

 category         Values
  sname          Stuart
  age              18

Ответы [ 3 ]

1 голос
/ 21 апреля 2020

Учитывая данные, которые вы представили, с единственной строкой в ​​каждой таблице, вы можете использовать CROSS JOIN, чтобы присоединиться к ним:

select t1.studentname, t2.StudentAge
  from table1 t1
  cross join table2 t2

Это выполнит декартово соединение, где каждая строка в каждая таблица объединяется с каждой строкой в ​​другой таблице, и количество возвращаемых строк является произведением количества строк в двух таблицах.

db <> fiddle здесь

1 голос
/ 21 апреля 2020

Если в ваших таблицах не более одной строки, вы можете использовать подзапросы:

select (select studentname from table1) as sname
       (select StudentAge from table2) as age
0 голосов
/ 21 апреля 2020

Это подсказывает мне union all:

select t.category, t.values
from ( (select t.studentname as values, 'studentname' as category from table1 t) union all
       (select t.stuedentage, 'age' as category from table2 t)
     ) t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...