Вертикальное объединение столбцов из разных таблиц в SQLite

У меня есть несколько таблиц, которые имеют одни и те же столбцы. Мне нужно создать запрос/представление, в котором я вертикально объединяю эти столбцы. Кроме того, мне нужен второй столбец, содержащий имя таблицы, из которой берется конкретное значение.

Вот схема моей игрушки:

CREATE TABLE table_1 (ID INTEGER);
CREATE TABLE table_2 (ID INTEGER);

Предположим, что таблицы содержат следующие значения:

table_1
ID
1
2
3

table_2
ID
4
5
2

Мой результат должен выглядеть так:

table_result
ID     SourceTable
1      table_1
2      table_1
3      table_1
4      table_2
5      table_2
2      table_2

Что делать, если один и тот же идентификатор находится в обеих таблицах? Хотели бы вы, чтобы это было дважды в наборе результатов?

Gordon Linoff 22.12.2020 17:40

Да, в самом деле. Я отредактировал свой пример.

Andi 22.12.2020 17:41
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
2
446
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

SELECT ID, 'table_1' AS SourceTable FROM table_1
UNION ALL
SELECT ID, 'table_2' AS SourceTable FROM table_2

Обратите внимание, что это предпочтительнее простого использования UNION, так как это также удаляет дубликаты. UNION ALL не тратит ресурсы на дедупликацию чего-либо.

Ответ принят как подходящий

Используйте union all:

select id, 'table_1' as sourcetable
from table_1
union all
select id, 'table_2' as sourcetable
from table_2;

Другие вопросы по теме