【发布时间】:2011-09-06 21:23:10
【问题描述】:
我有下表:
Id CategoryId Code Status
=================================
1 A100 0012 NULL
2 A100 0012 NULL
3 A100 0055 NULL
4 A100 0012 NULL
5 B201 1116 NULL
6 B201 1116 NULL
7 B201 1121 NULL
8 B201 1024 NULL
逻辑: 1.相同的CategoryID,代码应该相同。 2. 如果存在多个代码,则考虑值最低的一个。
想要的结果:
Id CategoryId Code Status
=================================
1 A100 0012 NULL
2 A100 0012 NULL
3 A100 0055 FAIL
4 A100 0012 NULL
5 B201 1116 FAIL
6 B201 1116 FAIL
7 B201 1121 FAIL
8 B201 1024 NULL
谢谢
【问题讨论】:
-
什么意思;它不允许你写代码?
-
@Ben_53:“如果相同 categoryid 的代码不同,则失败,否则为 NULL” - 你怎么知道哪个是“正确”的 categoryid?
-
@Abe 我相信所需的输出是相应地设置
Status列 -
业务逻辑说“所有类别 ID 必须具有相同的代码” 数据中的敌人示例,id = 3 具有相同类别 ID 的不同代码。
-
@Ben 假设你有两行,
id=10, categoryID=ABCD, Code=xy11和id=11, categoryID=ABCD, Code=ab52。其中哪一个是“正确”的?
标签: sql sql-server