ID "ALL"的外键问题



我有两个表

表1:

ID_A| ClmnA
1 | A
2 | B
3 | C

表2:

ID_B|ID_A
H  | 3
V  | 1
K  | 1 

表1和表2之间存在关系。问题是第一个表中的所有id都有一个索引";ALL";所以在第二张桌子上会是这样。

ID_B |ID_A
H  | 3
V  | 1
K  | 1 
All | 1
All | 2
All | 3 

所以问题是我不能添加它们,因为有两件事:

  1. ID_B是主键,所以我不能添加多个"所有">在里面。

  2. 即使我删除了ID_B中的主键,我也无法添加,因为我有一千行。

使用查询获取结果:

select id_b, id_a
from table2
union all
select 'All', id_a
from table1;

对于您的应用程序,您可以将其封装在一个视图中:

create view v_table2 as
select id_b, id_a
from table2
union all
select 'All', id_a
from table1;

最新更新