1

我有 60 列,我需要使用 SQL 查询从所有列中获取唯一值。在 SQL Server 中可以吗?

注意我需要从所有列中找到不同的值

4

2 回答 2

2

请尝试此代码

declare @Sql_Str varchar(8000)='';
select @Sql_Str=@Sql_Str+' select cast (' +name  +' as varchar(500)) from 
<yourtable> union' from sys.columns where [object_id]=object_id('<yourtable>')
set @Sql_Str=SUBSTRING(@Sql_Str,1,len(@Sql_Str)-6)
exec(@Sql_Str)
于 2012-07-11T05:59:19.867 回答
0
  1. 将 SSMS 对象资源管理器中的列标题拖到查询窗口。
  2. 使用正则表达式查找并用“\n”替换“,”。
  3. 为每一列使用正则表达式为每一列生成一个 SELECT INTO 不同的查询,并将输出分配给由正则表达式构建的临时表。
  4. 利用临时表中的数据。
于 2012-07-11T04:20:09.983 回答