动态构建语句

时间:2012-03-01 10:04:41

标签: tsql

我想要动态搜索条件。

这是我的表(这是动态生成的)这不是物理表。

id Tablename          columnname         Value    |
1  Company            Company_name      Microsoft |
2  Address            Pcity             CA        |
3  Phone              Pnumber           100-4582  |

我想在特定表中搜索Value,在此表中已经存在于数据库中(Company,Address,Phone)。动态传递tablename和columnname并搜索Value。

实施例

Select c.Company_name from Company c join Address a on
    a.companyid=c.companyid join phone p on p.companyid=c.companyid
    where 1=1 and c.company_name like '%Microsoft%' and a.Pcity Like
    '%CA%' and p.Pnumber like '%100-4582%'

我想动态查询查询并在“值”列中搜索条件。

我该怎么做..

感谢。

1 个答案:

答案 0 :(得分:0)

我理解的基本上是你想进行动态查询,所以我为你提供样本

create proc dummy_proc

@arg1 varchar(50),
@arg2 int
as

Declare @S varchar(max)  

Set @S='select  * from  tablename where 1=1'

if @arg1<>'' then

set @s=@s+ 'and column1 like''%'+@arg1+%''' 

Execute(@S) 

希望有所帮助