使用join插入多个记录

使用join插入多个记录,join,sql-insert,postgresql-9.3,Join,Sql Insert,Postgresql 9.3,我需要一些帮助来弄清楚当连接返回多个值时,如何使用连接在表中插入多个记录。下面是场景: 表A: A_ID bigserial,角色Varchar25,描述Varchar25 表B: B_ID bigserial,角色Varchar25,代码Varchar25 表A和B与列角色连接 表A中的示例条目: 1, A, Standard 2, B , Test 3, C, Test 4, D, Standard 1, A, Standard 2, B , Test 3, C, Test 4, D, S

我需要一些帮助来弄清楚当连接返回多个值时,如何使用连接在表中插入多个记录。下面是场景:

表A: A_ID bigserial,角色Varchar25,描述Varchar25

表B: B_ID bigserial,角色Varchar25,代码Varchar25

表A和B与列角色连接

表A中的示例条目:

1, A, Standard
2, B , Test
3, C, Test
4, D, Standard
1, A, Standard
2, B , Test
3, C, Test
4, D, Standard
5, E, TEST
表_B中的示例条目:

1, A, ABC
2, B, XYZ
3, C, XYZ
4, D, ABC
1, A, ABC
2, B, XYZ
3, B, ABC
4, C, DEF
5, C, XYZ
6, D, ABC
7, E, XYZ
8, E, LLL
基本上,我需要做的是检查description=Test的角色,然后将这个自定义角色的条目插入到表_B中,如果条目不存在,则使用Code=ABC

下面的查询将为我提供所有测试描述角色,这些角色在表B中没有任何Code=ABC的条目

问题1:

SELECT ROLE FROM TABLE_A A
INNER JOIN TABLE_B B
ON A.ROLE=B.ROLE
WHERE A.Description ='Test'
AND  B.CODE<>'ABC';
表_B中的示例条目:

1, A, ABC
2, B, XYZ
3, C, XYZ
4, D, ABC
1, A, ABC
2, B, XYZ
3, B, ABC
4, C, DEF
5, C, XYZ
6, D, ABC
7, E, XYZ
8, E, LLL
查询1在此处不起作用:

SELECT ROLE FROM TABLE_A A
INNER JOIN TABLE_B B
ON A.ROLE=B.ROLE
WHERE A.Description ='Test'
AND  B.CODE<>'ABC';

插入现在将如何工作?

您可以将另一列设置为“代码”

比如:
插入表_B角色,代码 从表A中选择角色“ABC”代码 内部联接表 A.ROLE=B.ROLE,其中A.Description='Test'和B.CODE'ABC';


因此列数将匹配。

编辑了我的问题。您现在可以提供帮助吗?插入到表_B角色中,代码选择不同的角色,“ABC”代码从表_A左连接表_B上的A.Role=B.Role和A.Description='Test'和B.Code'ABC';