0

簡単にするために、それぞれ1列の2つのテーブルAとBがあり、それらは主キーです。

(1,2,3)A にはB に含まれる値が含まれます(1,2,3)

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)になります。

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 に答える