sqlserver语句转MYSQL

zx6121390 2014-10-20 08:19:45
请教各位能否帮我把这段SQLSERVER语句转成MYSQL可以认的,谢谢

IF OBJECT_ID('Tempdb..#t') IS NOT NULL DROP TABLE #t BEGIN SELECT
CustomerType, 'm' + CONVERT(varchar, month(Create_date)) mm, count(id) tNum
INTO #t
FROM dbo.CRM_Customer
WHERE datediff(YEAR, [Create_date], '2014-1-1') = 0
GROUP BY CustomerType, 'm' + CONVERT(varchar, month(Create_date))

DECLARE @sql varchar(8000)
SET
@sql = 'select CustomerType items '
SELECT @sql = @sql + ',sum(case mm when ' + char(39) + mm + char(39) + ' then tNum else 0 end) [' + mm + ']'
FROM
(SELECT DISTINCT mm
FROM #t) AS data
SET @sql = @sql + ' from #t group by CustomerType' EXEC (@sql) END
...全文
112 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2014-10-20
  • 打赏
  • 举报
回复
建议亲自动手尝试一下。楼主可以参考着MYSQL官方免费手册中的存储过程语法介绍和例子,然后进行修改。之后如果有问题可以把亲自写的代码和MYSQL错误提示一同贴出,这样大家可以进行分析讨论。
还在加载中灬 2014-10-20
  • 打赏
  • 举报
回复
你发了两贴~~ IF OBJECT_ID('Tempdb..#t') IS NOT NULL DROP TABLE #t BEGIN SELECT CustomerType, 'm' + CAST(DATE_FORMAT(Create_date,'%c')AS VARCHAR(2)) mm, count(id) tNum INTO #t FROM dbo.CRM_Customer WHERE DATE_FORMAT(Create_date,'%Y')=2014 GROUP BY CustomerType, 'm' + CAST(DATE_FORMAT(Create_date,'%c')AS VARCHAR(2)) DECLARE @sql varchar(8000) SET @sql = 'select CustomerType items ' SELECT @sql = @sql + ',sum(case mm when ' + char(39) + mm + char(39) + ' then tNum else 0 end) [' + mm + ']' FROM (SELECT DISTINCT mm FROM #t) AS data SET @sql = @sql + ' from #t group by CustomerType' EXEC (@sql) END

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧