需要将下表(1)中的表格分组到输出表(2)这些是样本值,实际上它们是相应的数字和代码。 id应该是唯一的,代码应该符合条件(如果只有xz存在则xz;如果存在xz和xy,则只选择xy,依此类推)尝试'如果存在'和......当'但到目前为止运气不好,因为两个专栏都有PK。我使用SQL Server 2008,谢谢
id code
101 xz
102 xz
102 xy
103 xz
103 xa
output
101 xz
102 xy
103 xa
答案 0 :(得分:0)
研究Ranking functions,它们对分组查询有很大帮助。
WITH cte AS
(
SELECT id,code,
ROW_NUMBER() OVER(PARTITION BY id ORDER BY code) as row
FROM tableName
)
SELECT id,code
FROM cte
WHERE row=1