我需要帮助使用 Sybase 构建 SQL 语句以折叠由三列(ID、Name 和 DEPT)链接的行。我有一张桌子TABLE1
:
ID NAME DEPT CAT
1 ghi P
1 CV G
2 abc P
2 IT G
2 HC G
3 def P
3 jkl P
3 ENT G
3 MC G
CAT 列表示类别。P列表示人。G 列表示组。
ID
可以是个人(姓名)以及组(部门)。
如果 ID(1) 与人员(NAME) 以及组(DEPT) 相关联,那么我想更新人员(NAME) 行以具有 DEPT 名称,然后删除组(DEPT) 行。如果 ID(2) 与一个人(NAME) 和多个 DEPT(group) 相关联,那么我希望该 NAME 有两行。如果 ID(3) 包含两个不同的 NAME 和两个不同的 DEPT,那么我希望每个 NAME 和 DEPT 有单独的行,如下所示:
以下是我想要的预期输出:
ID NAME DEPT CAT
1 ghi CV P
2 abc IT P
2 abc HC P
3 def ENT P
3 def MC P
3 jkl ENT P
3 jkl MC P
我想要一个 SQL 语句,它从TABLE1
. 是否可以?