【发布时间】:2013-06-21 04:35:10
【问题描述】:
我需要使用 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
我想要一个从TABLE1 返回上述行的 SQL 语句。有可能吗?
【问题讨论】:
标签: sql sql-update sybase sql-insert