Вставить значение из двух таблиц на основе исходной таблицы строк

Для простоты у меня есть две таблицы 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)


person user2113455    schedule 16.10.2013    source источник
comment
select * from A,B не может дать нулевое значение для любого поля.   -  person geomagas    schedule 16.10.2013