生成 ID 为 T-SQL 的 DISTINCT 列表

Generate DISTINCT Lists with ID T-SQL

为了在 SSRS 多 select 下拉菜单中使用,我需要生成多个 DISTINCT 值列表。

这很容易做到。 Select DISTINCT Department from DimEmployee

为了设置 SSRS 默认值,您的数据集中也必须有一个 ID 字段。上述查询无法实现这一点

我需要为我的不同列表中的每条记录分配一个任意的 uniqueID

感谢任何建议。

最终输出为:

Select * From dsDeptList

结果...

ID   |   DeptName

1    |   DeptName1
2    |   DeptName2
etc.....

只需包含两次 EmployeeID 列(使用列别名)。将其用作 ID 和值。 DISTINCT 保证它在结果集中是唯一的。

请尝试以下代码:

CREATE TABLE #Test(EmpName VARCHAR(10));

INSERT #Test VALUES('A'),('A'),('B'),('C'),('C');

SELECT DISTINCT DENSE_RANK() OVER (ORDER BY EmpName) ID,EmpName
FROM #Test;

DROP TABLE #Test;

希望对您有所帮助。

我认为 GROUP BY 应该可以解决您的问题

SELECT EmployeeID,EmpName FROM YourTable
GROUP BY EmployeeID,EmpName

你一定会避免重复