Для простоты у меня есть две таблицы A и B, каждая из которых содержит 1 столбец, и они являются первичными ключами.
A содержит значения (1,2,3)
B содержит (1,2,3)
Третья таблица должна быть вставкой как A, так и B и иметь составной первичный ключ.
Table C (id, src)
Если идентификатор исходит из таблицы A, я бы хотел, чтобы src был «A», а если он исходил из B, то «B».
Между таблицами могут быть повторяющиеся идентификаторы, но они не являются одним и тем же элементом, поэтому мне нужно создать составной ключ на основе таблицы, из которой исходит строка. я пытался
Insert into C (anID, src)
Select
Case when (A.anID is not null)
then A.anID else B.anID end,
case when (A.anID is not null)
then 'A' else 'B' end
from
A,
B
Но мои результаты всегда заканчиваются только 3 строками (1, A) (2,A) (3,A)
Когда должно быть 6 строк (по одной из каждой из тех, что с буквой B)
select * from A,B
не может дать нулевое значение для любого поля. - person geomagas   schedule 16.10.2013