DISTINCT查询一列而不是任何其他列

时间:2016-12-07 15:41:27

标签: sql-server distinct

我有一个小的2列表。让我们说列是A和B.列A需要是不同的,以便它不显示重复值。 B列需要在查询中选择所有内容,因此如果A中的值有多个B值,则会显示多个值。如何编写一个可以为我执行此操作的查询?

虽然副本现在已经消失了......我的下拉列表中有一堆空白。

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以使用CTE来简化它:

WITH CTE AS
(
   SELECT A, B,
          RN = ROW_NUMBER() OVER (PARTITION BY A ORDER BY A, B)
   FROM dbo.TableName
)
SELECT A = CASE WHEN RN = 1 THEN Cast(A as varchar(50)) ELSE '' END,
       B
FROM CTE