我理解楼上的说法了: 意思就是说:在前台应用程序中处理,在组成SQL语句的时候做判断,如下形式: string sql='select '; if TextBox1.Text<>'' then sql=sql+TextBox1.Text; //TextBox1.Text中的内容为字段名,也可是被选中的项 if TextBox2.Text<>'' then sql=sql+','+TextBox1.Text ... sql=sql+' from table1' 然后再执行SQL语句
declare @T1 varchar(100) set @T1='代码+规格+部门' set @T1=REPLACE(@T1,'+',',') set @T1='select ' + @T1 + ' from Table' exec @T1
写个存储器也可以啊! create proc Temp_proc (@T varchar(8000)) as set @T=REPLACE(@T,'+',',') set @T='select ' + @T + ' from Table' exec (@T)
意思就是说:在前台应用程序中处理,在组成SQL语句的时候做判断,如下形式:
string sql='select ';
if TextBox1.Text<>''
then sql=sql+TextBox1.Text; //TextBox1.Text中的内容为字段名,也可是被选中的项
if TextBox2.Text<>''
then sql=sql+','+TextBox1.Text
...
sql=sql+' from table1'
然后再执行SQL语句
set @T1='代码+规格+部门'
set @T1=REPLACE(@T1,'+',',')
set @T1='select ' + @T1 + ' from Table'
exec @T1
create proc Temp_proc (@T varchar(8000))
as
set @T=REPLACE(@T,'+',',')
set @T='select ' + @T + ' from Table'
exec (@T)