DECLARE @SQL VARCHAR(5000)
DECLARE @SQL2 VARCHAR(5000)
SET @SQL2 =''
Select @SQL = @SQL + 'SUM(Case B.corpsort_name When ''' + corpsort_name + ''' Then 1 Else 0 End) As ' + corpsort_name
From crm_corpsort B 
Select @SQL = @SQL + ',SUM(a.corp_id) as ''总数'''
Select @SQL = @SQL + ' from crm_corp A  inner join crm_corpsort B  on a.corp_sort=b.corpsort_id GROUP BY a.corp_id '
EXEC(@SQL)
PRINT( @Sql) 
EXECUTE  (@SQL)
GO
为什么不能输出任何结果

解决方案 »

  1.   

    语句没有拼对!这个corpsort_name是什么东西?
      

  2.   

    DECLARE   @SQL   VARCHAR(5000) @sql 没有赋初值 则默认为 NULLNULL 与任何数与字符串想 + - 都为 NULLEXEC(@SQL) 就为 EXEC(NULL)所以没有结果应该
    DECLARE   @SQL   VARCHAR(5000) 
    DECLARE   @SQL2   VARCHAR(5000) 
    SET   @SQL    =''
    SET   @SQL2   ='' 
      

  3.   

    楼上说的对变量没有初始化,都默认为null,null 跟任何字符相关联'+'都为null所以需要初始化变量
      

  4.   

    是这样的
    客户表CRM_CORP和客户类型表(crm_corpsort)
    现在想统计出各类型有多个条.
    谢谢大家
      

  5.   

    select b.客户类型 as 客户类型,count(b.客户类型) as 客户数量 
    from crm_crop a inner join crm_corpsort b 
    on a.客户类型ID=b.客户类型ID group by b.客户类型