0

为了简单起见,我有两个表 A 和 B,每个表都有 1 列,它们是主键。

A 包含(1,2,3)B 包含的值(1,2,3)

第三张表需要同时插入A和B,并且有一个复合主键。

Table C (id, src)

如果 id 来自表 A,我希望 src 为“A”,如果它来自 B,则为“B”。

表之间可以有重复的 ID,但它们不是同一个项目,这就是为什么我需要根据该行来自哪个表来创建一个复合键。我试过了

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 行)

4

1 回答 1

1
insert into TableC (id, src) 
select ID, 'A' from tableA 
union 
select ID, 'B' from tableB 
于 2013-10-16T16:37:19.023 回答