我有一项功能,用户可以选择table(only one at a time)
并根据table columns
显示。用户可以选择多个列,所以我想要的是,当用户选择列时,它应该返回所选列的结果。现在按照我的表格,如果用户选择Colum_1 which has unique values
,那么我将允许用户选择,但如果用户选择Column_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'
我需要在for-each
中实现SQL
种逻辑。
答案 0 :(得分:0)
您可以使用While条件来解决此问题。以下是更多详细信息的参考。 https://msdn.microsoft.com/en-CA/library/ms178642.aspx