Как объединить данные из двух таблиц без общих полей в SQL? - PullRequest
0 голосов
/ 06 июля 2019

У меня есть 2 таблицы - одна таблица с множеством строк и вторая таблица с одной строкой. Можно ли объединить их в одну таблицу с несколькими строками?

Я хочу объединить данныеиз двух таблиц, которые не имеют общих полей.Я проверил UNION, но MSDN говорит: -

Ниже приведены основные правила объединения наборов результатов двух запросов с использованием UNION: -* Каждый оператор SELECT в UNION должен иметь одинаковое количество столбцов.* Столбцы также должны иметь похожие типы данных.* Столбцы в каждой инструкции SELECT также должны быть в том же порядке.

      Table 1                            Table 2

Column1    Column2        Column4    Column5    Column3
-------    -------        -------    -------    -------
A          1                 E          10         a
B          2                                    
C          3                                    
D          4                                    

**EXPECTED OUTPUT:-**

            CONSOLIDATED_Table 3                   
Column1    Column2  Column3    Column4    Column5
-------    -------  -------    -------    -------
A          1         E          10         a
B          2         E          10         a
C          3         E          10         a
D          4         E          10         a

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

Ответы [ 4 ]

0 голосов
/ 06 июля 2019

Учителя и ученики

select * from (
    select 'teacher' as rowtype, tid as id , t_name as name
    from teachers
    union all
    select 'student', sid, s_name
    from students) t
order by name;
0 голосов
/ 06 июля 2019

да, безусловно, вы можете использовать INNER JOIN. Это простой способ получить данные из нескольких таблиц. либо вы можете использовать подзапрос и получать данные в формате Row

0 голосов
/ 06 июля 2019

Мы используем объединения, чтобы объединить столбцы нескольких таблиц, тогда как мы используем объединение, чтобы объединить строки нескольких таблиц, учитывая, что типы столбцов и количество столбцов одинаковы во всех запросах выбора с объединением.Так как вы хотите показать все строки, мы можем использовать Union.Выберите tid как id, t_name как имя из объединения учителей all Выберите sid как id, s_name как имя от студентов;

0 голосов
/ 06 июля 2019

Вы можете добавить дополнительные столбцы, как это:

select tid, t_name, null as s_name
from teachers t
union all
select sid, null, s_name
from students s;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...