字符不够长!你不要浪费字符:CREATE PROCEDURE pro_tanwei_sel_total_sum_test @tanweileixing char(8) AS DECLARE @sql varchar(8000)
SET @sql = 'select '
SELECT @sql = @sql + 'sum(tanweishunum) as 合计 ' SELECT @sql = @sql + ',sum(case qishu when''一期'' then tanweishunum else 0 end) as 一期合计'
SELECT @sql = @sql + ',sum (case when zhanqu=''' + zhanqu + ''' and tanweileixing<>''按面积计算'' then tanweishunum when zhanqu=''' + zhanqu + ''' and tanweileixing=''按面积计算'' then pingfangmi else 0 end) ['+ zhanqu+'('+qishu+')]'
FROM (SELECT DISTINCT zhanqu,qishu FROM department where qishu='一期') a order by qishu desc
SELECT @sql = @sql + ',sum(case qishu when''二期'' then tanweishunum else 0 end) as 二期合计' SELECT @sql = @sql + ',sum (case when zhanqu=''' + zhanqu + ''' and tanweileixing<>''按面积计算'' then tanweishunum when zhanqu=''' + zhanqu + ''' and tanweileixing=''按面积计算'' then pingfangmi else 0 end) as ['+ zhanqu + '('+qishu+')]'
FROM (SELECT DISTINCT zhanqu,qishu FROM department where qishu='二期') b order by qishu desc
SELECT @sql = @sql + ',sum(case qishu when''新馆试用'' then tanweishunum else 0 end) as 新馆试用合计' SELECT @sql = @sql + ',sum (case when zhanqu=''' + zhanqu + ''' and tanweileixing<>''按面积计算'' then tanweishunum when zhanqu=''' + zhanqu + ''' and tanweileixing=''按面积计算'' then pingfangmi else 0 end) as ['+ zhanqu + '('+qishu+')]' FROM (SELECT DISTINCT zhanqu,qishu
FROM department where qishu='新馆试用') c order by qishu desc
print @sql + ' from department where tanweixingzhi=''' + @tanweileixing +''''
exec(@sql + ' from department where tanweixingzhi=''' + @tanweileixing +'''')GO
SET @sql = 'select '
SELECT @sql = @sql + 'sum(tanweishunum) as 合计 ' SELECT @sql = @sql + ',sum(case qishu when''一期'' then tanweishunum else 0 end) as 一期合计'
SELECT @sql = @sql + ',sum (case when zhanqu=''' + zhanqu + ''' and tanweileixing<>''按面积计算'' then tanweishunum when zhanqu=''' + zhanqu + ''' and tanweileixing=''按面积计算'' then pingfangmi else 0 end) ['+ zhanqu+'('+qishu+')]'
FROM (SELECT DISTINCT zhanqu,qishu FROM department where qishu='一期') a order by qishu desc
SELECT @sql = @sql + ',sum(case qishu when''二期'' then tanweishunum else 0 end) as 二期合计' SELECT @sql = @sql + ',sum (case when zhanqu=''' + zhanqu + ''' and tanweileixing<>''按面积计算'' then tanweishunum when zhanqu=''' + zhanqu + ''' and tanweileixing=''按面积计算'' then pingfangmi else 0 end) as ['+ zhanqu + '('+qishu+')]'
FROM (SELECT DISTINCT zhanqu,qishu FROM department where qishu='二期') b order by qishu desc
SELECT @sql = @sql + ',sum(case qishu when''新馆试用'' then tanweishunum else 0 end) as 新馆试用合计' SELECT @sql = @sql + ',sum (case when zhanqu=''' + zhanqu + ''' and tanweileixing<>''按面积计算'' then tanweishunum when zhanqu=''' + zhanqu + ''' and tanweileixing=''按面积计算'' then pingfangmi else 0 end) as ['+ zhanqu + '('+qishu+')]' FROM (SELECT DISTINCT zhanqu,qishu
FROM department where qishu='新馆试用') c order by qishu desc
print @sql + ' from department where tanweixingzhi=''' + @tanweileixing +''''
exec(@sql + ' from department where tanweixingzhi=''' + @tanweileixing +'''')GO
解决方案 »
- 关于设置插入数据的条件
- database中的null值
- 字段内容自动生成简拼(每个字的拼音首码)
- SQL 某字段包含某字段怎么表述
- 求救,如何还原数据库???
- 急问存储过程,在线等...,3ks!
- 一个非常小的问题!!!
- SQL Server 存入数据库?
- ~{SC~}SQL~{So>dHg:NV*5@D3R;LlJG5Z<88vPGFZRT<0Ub8vPGFZ5DPGFZ<8!#~}
- 在visual studio 2005中无法创建SQL SERVER数据库(使用.net自带的Express)
- 问一个查询,我只有十分了,请帮忙
- 执行存储过程时,造成前台程序死机的问题???紧急!!!!!!!!
@sql1="...."
@sql2="...."
@sql3="...."
exec(@sql1 + @sql2 + @sql3)???
可是不行!
是字符串变量连接有问题吗?