怎样实现根据表的属性值的集合返回对应的数值?改用那些SQL语句实现?求高手解答,感激不尽!!
解决方案 »
- 求大侠指点迷经!!我安装的sql server 2005 中的安全性中的sa的登录名为什么不能改变啊
- 求UPDATE语句.在线等,谢谢
- 问个sql入门语句的写法
- 8000字符太短,能不能换成TEXT?
- 请助数据删除写一个存储过程
- 用查询可以得到结果,但建立存储过程,结果就不对了。
- 怎么才能使两台服务器的数据时时同步!!急急!!分不够可以再加
- 求一SQL語句﹐謝謝
- SQL语句的记录
- vc+sql 为什么在vc中选择数据源后,在select Datebase tables 中出现一大堆dbo.pbcatvld之类的,但其中并没有我自己建的表,这是为什么?
- 如何优化查询
- 在这个视图中时按时间查询重复数据中最新数据,其余数据不变!求解!
1 1,2 1,2 1,2
1 2,3 2,3 2,3大致要求:由集合(1,"py_rt",1)返回某数值1;
由集合(1,"py_rt",2)也返回某数值1 类推。
returns int
as
begin
declare @result int
declare @isdel int
select @isdel=isdel from tdxdb_test
select @result=
case
when @dy_type=dy_type and @dy_name=dy_tdx and @isdel=0 then '1'
when @dy_type=dy_type and @dy_name=dy_dd and @isdel=0 then '2'
when @dy_type=dy_type and @dy_name=dy_hs and @isdel=0 then '3'
when @dy_type=dy_type and @dy_name=dy_jsd and @isdel=0 then '4'
when @dy_type=dy_type and @dy_name=dy_jz and @isdel=0 then '5'
else '-1'
end
from tdxdb_test
return @result
end可查询结构总返回-1
是我函数写的有问题还是标量函数体用不了CASE WHEN THEN??
求高人指点,小弟感激不尽!
set @dy_type=1
set @dy_name='py_rt'declare @sql varchar(max)
set @sql=''
set @sql='selct
from tdxdb_test
where py_type='+cast(@dy_type as varchar)+'
and '+@dy_name+'='+cast(@dy_type as varchar);
exec(@sql)
set @dy_type=1
set @dy_name='py_rt'
set @dy_name_value=1declare @sql varchar(max)
set @sql=''
set @sql='select *
from tdxdb_test
where py_type='+cast(@dy_type as varchar)+'
and '+@dy_name+'='+cast(@dy_name_value as varchar);
-- print @sql
exec(@sql)
刚才没有检查,修改再提交了
returns varchar(4)
as
begin
declare @result varchar(4)if @dy_name='dd'
begin
select @result=dy_tdx from tdxdb_test
where @dy_type=dy_type and @dy_fw=dy_dd and isdel=0
endif @dy_name='hs'
begin
select @result=dy_tdx from tdxdb_test
where @dy_type=dy_type and @dy_fw=dy_hs and isdel=0
end if @dy_name='jsd'
begin
select @result=dy_tdx from tdxdb_test
where @dy_type=dy_type and @dy_fw=dy_jsd and isdel=0
end if @dy_name='jz'
begin
select @result=dy_tdx from tdxdb_test
where @dy_type=dy_type and @dy_fw=dy_jz and isdel=0
end
return @result
end