Предположим, у меня есть две таблицы:
CREATE TABLE A(
id INT PRIMARY KEY,
x INT,
y INT
)
CREATE TABLE B(
id INT PRIMARY KEY,
x INT,
y INT,
)
Таблица A содержит данные, полученные от другого поставщика, а таблица B - наши данные. Для простоты я сделал эти таблицы абсолютно одинаковыми с точки зрения схемы, но таблица B, вероятно, будет надмножеством таблицы A (она будет содержать некоторые столбцы, которых таблица A не будет другими словами).
То, что я хотел бы сделать, - это создать представление C со столбцами id, x и y, чтобы значения приходили из таблицы B, если только они не равны NULL; в этом случае они бы поступали из таблицы A. Например, предположим, что I было следующее:
INSERT INTO A (id, x, y)
VALUES (1, 2, 3);
INSERT INTO B (id, x, y)
VALUES (1, NULL, NULL);
INSERT INTO A (id, x, y)
VALUES (2, 3, 4);
INSERT INTO B (id, x, y)
VALUES (2, 5, 6);
INSERT INTO A(id, x, y)
VALUES (3, 4, 5);
INSERT INTO B(id, x, y)
VALUES (3, 5, NULL);
Так что, если я выберу * из C, я получу следующие строки:
(1, 2, 3)
(2, 5, 6)
(3, 5, 5)
Как я мог создать такое представление?