sqlserver语句转MYSQL

zx6121390 2014-10-20 08:20:42
请教各位能否帮我把这段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
...全文
176 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zx6121390 2014-10-21
  • 打赏
  • 举报
回复
您好ky_min

我照您给我的试了 报错 我截了张图您看看
LongRui888 2014-10-20
  • 打赏
  • 举报
回复
mysql还真的好好实践实践
还在加载中灬 2014-10-20
  • 打赏
  • 举报
回复
引用 2 楼 alimake 的回复:
哥们你还搞过MYSQL啊
以前做过门户网站N多,有的还记得~~
xiaodongni 2014-10-20
  • 打赏
  • 举报
回复
引用 1 楼 ky_min 的回复:
不确定适不适合MYSQL,你试下,出什么错,贴上来
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
哥们你还搞过MYSQL啊
还在加载中灬 2014-10-20
  • 打赏
  • 举报
回复
不确定适不适合MYSQL,你试下,出什么错,贴上来
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

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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