读书人

还没解决完搜索存储过程解决方案

发布时间: 2012-02-03 22:02:47 作者: rapoo

还没解决完搜索存储过程
存储过程为:

ALTER proc test1

@sale_name varchar(50),

@quyu varchar(50),

@subxingzhi_name varchar(50),

@developer_name varchar(50),
@room_type int,
@chaoxiang varchar(50),
@area float,
@price float,

@sql varchar(8000) output

as
set @sql= 'select distinct * from sale
a,householdmodel b,developers c ,subxingzhi d
where a.sale_id=b.sale_id and a.developer_id=c.developer_id and a.subxingzhi_id=d.subxingzhi_id '

if @sale_name <> '1 '
begin
set @sql=@sql+ ' and a.sale_name= ' ' '+@sale_name+ ' ' ' '
end


if @quyu <> '1 '
begin
set @sql=@sql+ ' and a.quyu= ' ' '+@quyu+ ' ' ' '
end


if @subxingzhi_name <> '1 '
begin
set @sql=@sql+ ' and d.subxingzhi_name= ' ' '+@subxingzhi_name+ ' ' ' '
end


if @developer_name <> '1 '
begin
set @sql=@sql+ ' and c.developer_name= ' ' '+@developer_name+ ' ' ' '
end


if @room_type <> '1 '
begin
set @sql=@sql+ ' and b.room_type= '+cast(@room_type as varchar)
end


if @chaoxiang <> '1 '
begin
set @sql=@sql+ ' and b.chaoxiang= ' ' '+@chaoxiang+ ' ' ' '
end


if @area <> '1 '
begin
set @sql=@sql+ ' and a.area= '+cast(@area as varchar)

end


if @price <> '1 '
begin
set @sql=@sql+ ' and a.price= '+cast(@price as varchar)
end


print @sql
exec (@sql)


执行为:
exec test1 'aa ', 'b ', '1 ', '1 ', '1 ', '1 ', '1 ', '1 ',2
为什么返回的为空呢?
aa 和b 表中都的数据

[解决办法]
在你的消息那看看在结果是看不到的

读书人网 >SQL Server

热点推荐