我有一个小的2列表。让我们说列是A和B.列A需要是不同的,以便它不显示重复值。 B列需要在查询中选择所有内容,因此如果A中的值有多个B值,则会显示多个值。如何编写一个可以为我执行此操作的查询?
虽然副本现在已经消失了......我的下拉列表中有一堆空白。
答案 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