其中传进来的字符串str 它的值是表格1 basecode字段的值,每个值是用","分开的 字段1是country_code 字段2名称是str第1个","后前面的值 字段3名称是str第2个","后前面的值,以后字段一次类推
描述真不清楚。你别这样做了。你表二就两字段得了。
country_code 和 个随便什么的。后面的字段直接存你的str就行了。
描述真不清楚。你别这样做了。你表二就两字段得了。
country_code 和 个随便什么的。后面的字段直接存你的str就行了。
解决方案 »
- 关于扩展属性的一些问题
- 问个sqlserver2005的安装问题,怎么把它完全装在D盘 而不是系统盘C盘
- ,,,,,,,,,,,,在sql中,有没有用restore强制还原数据库的命令
- 异地备份不成功,向各位求助!急急急……
- m³标志存入数据库(sql2005)后,显示m3???!!
- 请问使用触发器的时候,能否使特定字段的更新不触发触发器
- SSIS有Foreach批量导入数据,想获取数据的文件名称,好像要用变量什么的怎么弄?
- 怎样将 sql server 6.5 的数据(.dat 格式)文件恢复到 sql server 7.0 或 sql server 2000 中?
- 链接数据库问题~
- 怎么把NTFS分区格式化成FAT16或FAT32分区数据不丢失?
- 如何从重复ID中选出一行数据?
- 锁表的问题及如何知道此表有人在使用(求教高手这个存储过程该怎么写)
declare @p varchar(10)
set @p = '5,6,7'if object_id('tempdb..#t') is not null drop table #t
create table #t (country_code int,base_code int, money int)
insert into #t
select 1,5,98 union
select 1,6,30 union
select 1,7,55 union
select 2,5,40 union
select 2,7,88 union
select 3,6,60 union
select 3,1,60declare @sql varchar(1000)
set @sql='select country_code'
select @sql=@sql+',sum(case when base_code='+cast(base_code as varchar(10))+' then money else 0 end) as ['+cast(base_code as varchar(10))+']'
from (select base_code
from #t
where charindex(','+cast(base_code as varchar(10))+',',','+@p+',')>0
group by base_code
) a
set @sql=@sql+' from #t group by country_code'execute( @sql )
/*
country_code 5 6 7
------------ ----------- ----------- -----------
1 98 30 55
2 40 0 88
3 0 60 0(3 行受影响)
*/
/*
country_code 5 6 7
------------ ----------- ----------- -----------
1 98 30 55
2 40 0 88
3 0 60 0(3 行受影响)
*/