Sql 插入具有多个键的行

Sql 插入具有多个键的行,sql,insert,Sql,Insert,我想取一个像上面这样的表,看看哪些用户有dept a但没有C,然后插入C,反之亦然(有C,没有a,用a插入新行) 例如,在上表中,User4将被标识为具有A而非C,因此将插入一个包含User4和dept C的新行。请使用code标记以清晰地格式化您的相关代码/数据示例您的问题是什么?表中的列是什么?从您提交的内容来看,我无法判断列和值是什么。请编辑您的问题,以包括您解决问题的一次或多次尝试。非常感谢。 ID DEPT user1 A user1 B user1 C user2

我想取一个像上面这样的表,看看哪些用户有dept a但没有C,然后插入C,反之亦然(有C,没有a,用a插入新行)


例如,在上表中,User4将被标识为具有A而非C,因此将插入一个包含User4和dept C的新行。

请使用code标记以清晰地格式化您的相关代码/数据示例您的问题是什么?表中的列是什么?从您提交的内容来看,我无法判断列和值是什么。请编辑您的问题,以包括您解决问题的一次或多次尝试。非常感谢。
ID  DEPT
user1   A
user1   B
user1   C
user2   A
user2   B
user3   A
user4   A
user4   B
user4   D
user4   E
INSERT INTO tablename(Id, Dept)
SELECT COALESCE(A.ID, C.ID)
,   CASE 
  WHEN A.ID IS NULL THEN 'A'
 WHEN C.ID IS NULL THEN 'C'
END
FROM 
    (select id
    from tableName
    WHERE Dept = 'A') A
FULL OUTER JOIN
    (select id
    from tableName
    WHERE Dept = 'C') C
    ON A.Id = C.Id   
WHERE
    A.Id IS NULL OR C.Id IS NULL