首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

,请问一个简单的有关问题

2012-02-23 
在线等,请教一个简单的问题。declare @sql varchar(8000)set @sql select 姓名 select @sql @sql +

在线等,请教一个简单的问题。
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
exec(@sql) 

引号好像有问题。
在Delphi中如何把上面SQL语句加入到程序中。
我的处理:
  s:='select 姓名 ';
  s:= s + ', sum(case 课程 when '' + 课程 + '' then 分数 else 0 end) ['' + 课程 + ''] FROM (SELECT DISTINCT 课程 FROM tb) AS a';
  s:= s + ' from tb group by 姓名';

程序能运行,但是提示提出,应该加入几个引号。谢谢!

[解决办法]
组合sql有问题。你要理解那个SQL的作用,然后再组合。

SQL code
sum(case hpmc when ''+ hpmc +'' then sl else 0 end) [hpmc] FROM (SELECT DISTINCT hpmc FROM kc) 

热点排行