Sql server 2008 在SQL Server中合并列结果
我有一个功能,用户可以选择Sql server 2008 在SQL Server中合并列结果,sql-server-2008,dynamic-sql,Sql Server 2008,Dynamic Sql,我有一个功能,用户可以选择表格(一次只能选择一个),并根据该功能,将显示表格列。用户可以选择多个列,所以我想要的是,当用户选择列时,它应该返回所选列的结果。现在,根据我的表格,如果用户选择具有唯一值的列1,我将允许用户选择该列,但如果用户选择列2,我将提示消息,说“选择另一列或多列”,然后在后台为这些选定列创建组合 例如: Table name = `TestTable` Column_1 Column_2 Column_3 -------- -------- -------- 1
表格(一次只能选择一个)
,并根据该功能,将显示表格列。用户可以选择多个列,所以我想要的是,当用户选择列时,它应该返回所选列的结果。现在,根据我的表格,如果用户选择具有唯一值的列1,我将允许用户选择该列,但如果用户选择列2,我将提示消息,说“选择另一列或多列”,然后在后台为这些选定列创建组合
例如:
Table name = `TestTable`
Column_1 Column_2 Column_3
-------- -------- --------
1 1 ab
2 2 bc
3 1 bc
预期成果:
Column_1 = 1 2 3
Column_1, Column_2 = 1 1, 2 2, 3 1 (combination of two columns)
Column_1, Column_2, Column_3 = 1 1 ab, 2 2 bc, 3 1 bc (combination of three columns)
我尝试了一个查询,但它只对一个列名有用。我不确定用户是否选择了多个列,然后如何处理
我的问题是:
declare @colCount bigint, @uniqColCount bigint, @result nvarchar(max)
select @colCount = count(Column_1) from TestTable
select @uniqColCount = count(distinct Column_1) from TestTable
if(@colCount = @uniqColCount)
begin
set @result = (select Column_1 from TestTable)
print @result
end
else
print 'false'
我需要为SQL
中的每种逻辑实现 您可以使用While条件来解决此问题。以下是更多细节的参考资料。