Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在一列中选择唯一值,并与另一列中的条件匹配_Sql_Sql Server 2008 R2 - Fatal编程技术网

Sql 在一列中选择唯一值,并与另一列中的条件匹配

Sql 在一列中选择唯一值,并与另一列中的条件匹配,sql,sql-server-2008-r2,Sql,Sql Server 2008 R2,需要将下表(1)分组到输出表(2)中。这些是样本值,它们是对应的数字和代码。id应该是唯一的,代码应该与条件匹配(如果只有xz存在,则xz;如果xz和xy存在,则仅选择xy,依此类推)尝试了“if exists”和“case when..then”,但到目前为止还没有成功,因为这两列都有PK。我使用SQL Server 2008,谢谢 id code 101 xz 102 xz 102 xy 103 xz 103 xa output 101 xz 102 xy 1

需要将下表(1)分组到输出表(2)中。这些是样本值,它们是对应的数字和代码。id应该是唯一的,代码应该与条件匹配(如果只有xz存在,则xz;如果xz和xy存在,则仅选择xy,依此类推)尝试了“if exists”和“case when..then”,但到目前为止还没有成功,因为这两列都有PK。我使用SQL Server 2008,谢谢

 id   code
101   xz
102   xz
102   xy
103   xz
103   xa

output
101  xz
102  xy
103  xa
研究表明,它们对分组查询有很大帮助

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

如果您发布了一些您尝试的代码,以及它如何无法按预期工作,则更有可能获得帮助。