declare @sql varchar(8000)
set @sql = 'select '
select @sql = @sql + 'sum(case a1 when '''+a1+'''
then 1 else 0 end) 数量'+a1+','
from (select distinct a1 from 表) as aselect @sql = left(@sql,len(@sql)-1) + ' from 表 'exec(@sql)
set @sql = 'select '
select @sql = @sql + 'sum(case a1 when '''+a1+'''
then 1 else 0 end) 数量'+a1+','
from (select distinct a1 from 表) as aselect @sql = left(@sql,len(@sql)-1) + ' from 表 'exec(@sql)
解决方案 »
- sql server 2000 个别数据库不能访问
- 求助:如何查看sql 存储过程的执行时间,要显示毫秒级的?
- 大家好,我用的是用友U890,想通过存货编码更新所有存货名称,请问在数据库中如何实现,具体操作,谢谢!!
- 请教下如何在SQL Server2005里添加两个相同的数据库?
- 自定义一个表值函数,提示“在此上下文中不能使用带有返回值的 RETURN 语句。”
- vb+sqlserver开发问题,,很菜的,请指教!
- 请问我怎么能跟踪到网站中哪句sql语句执行速度很慢?
- SQL Server中的Word文档有什么好的打开方法??? 工具VB
- 我想统计出每种货品的实际库存量,内有表结构.
- 请教关于数据类型的问题,
- 用@@error捕捉存储过程错误的问题
- 用什么方法可以跟踪存储过程的运行状况?
insert into #a values ('张三',2)
insert into #a values ('李四',3)declare @sql varchar(8000)
set @sql=''
select @sql = @sql + 'sum(case when convert(varchar,a)='''+ convert(varchar,a) +''' then b else 0 end ) ['+ cast(a as varchar(100))+'],'
from (select distinct a from #a ) aa
set @sql = left(@sql,len(@sql)-1)
exec('select '+ @sql + ' from #a group by a')drop table #a
sum (case a1 when '张三' then 1 else 0 end) '张三'
sum (case a1 when '李四' then 1 else 0 end) '李四'
from tableaa group by a1
表aa是远程服务器上的ORACLE数据表
使用SQLPLUS进行远程查询。
then 1 else 0 end) 数量'+a1+','
这一句我不明白啊,犹其是那个'''+a1+''',CrazyFor(太阳下山明朝依旧爬上来) 请你帮我解释一下行吗?我是个新手。谢谢了