34,590
社区成员
发帖
与我相关
我的任务
分享
PRINT 'aaa''bbb:字符串里面单引号要双写'
PRINT '''aaa:双写单引号在字符串的头尾,看起来就是3连写'
aaa'bbb:字符串里面单引号要双写
'aaa:双写单引号在字符串的头尾,看起来就是3连写
老师 我问个问题
declare @s varchar(100),@sql varchar(1000)
set @s='a,b,c,d,e'
set @sql='select col='''+ replace(@s,',',''' union all select ''') +'''' ---是按字符格式 转的
PRINT @sql
exec (@sql)
这个 里面 @sql='select col='''+ replace(@s,',',''' union all select ''') +'''' 这些地方为什么 '''+ 这个3个单引号,还有 为什么 ''' union all select ''' 这也要3个引号?
UNION ALL
SELECT 存货名称,
总计,
SUM(CASE
WHEN fname = 存货名称 THEN fconsignamount
ELSE 0
END) AS '总计',
SUM(CASE
WHEN fname = 存货名称 THEN fconsignamount
ELSE 0
END) AS '总计'
FROM #temp
GROUP BY 总计
这是加一个汇总行吗 ?
SELECT 存货名称,
SUM() AS '总计'
FROM #temp
GROUP BY 存货名称
SELECT * INTO #TEMP
FROM (
select 'AAA' as 存货名称,'BBB' FName,111 FConsignAmount,'' as 总计 UNION ALL
SELECT 'CCC','DDD',222,'' UNION ALL
SELECT 'CCC','EEE',222,''
) t
SELECT 存货名称,
总计,
SUM(CASE
WHEN fname = 'BBB' THEN fconsignamount
ELSE 0
END) AS 'BBB',
SUM(CASE
WHEN fname = 'DDD' THEN fconsignamount
ELSE 0
END) AS 'DDD',
SUM(CASE
WHEN fname = 'EEE' THEN fconsignamount
ELSE 0
END) AS 'EEE'
FROM #temp
GROUP BY 存货名称
UNION ALL
SELECT 存货名称,
总计,
SUM(CASE
WHEN fname = 存货名称 THEN fconsignamount
ELSE 0
END) AS '总计',
SUM(CASE
WHEN fname = 存货名称 THEN fconsignamount
ELSE 0
END) AS '总计'
FROM #temp
GROUP BY 总计
SET @STRSQL = ''
SELECT @STRSQL = @STRSQL + 'SELECT 存货名称,总计,' -- 少了逗号