#sql #sqlite
#sql #sqlite
Вопрос:
У меня есть две таблицы A и B, каждая из которых состоит из столбцов nr и name. Столбец numbers в A является подмножеством столбца numbers в B. Теперь я хотел бы создать новую таблицу C, состоящую из столбцов nr, name_A и name_B, где name_A берется из столбца name в A (если nr существует в A, ‘-‘ в противном случае) и где name_B берется из столбца name в B.
Лучшее, что я смог выяснить на данный момент, это:
CREATE TABLE C
SELECT * FROM A
UNION
SELECT * FROM B;
Очевидно, что это не дает мне той структуры, о которой я прошу, поэтому новичок в SQL был бы весьма признателен за помощь.
Комментарии:
1. Подсказка:
JOIN
будет использоваться для этого.
Ответ №1:
Инструмент, который вы ищете, — это соединение [слева]:
CREATE TABLE c AS
SELECT b.nr, COALESCE(a.name, '-') AS name_a, b.name AS b.name
FROM b
LEFT JOIN a on b.nr = a.nr