【发布时间】:2014-10-11 11:55:34
【问题描述】:
对于我的网站(PHP / MySql),我需要一些管理信息。 在测试期间,我能够在 MS Access 中生成一个有效的查询。
子查询‘qryUnion’:
SELECT Mailadres, Registrationdate FROM tbl-A
UNION
SELECT Mailadres, Registrationdate FROM tbl-B;
主要查询:
SELECT Year([Maildate]) & '-' & Month([Maildate]) AS MonthMailed, Count(tbl-C.Mailadres) AS Prospects, Count(qryUnion.Mailadres) AS Members
FROM tbl-C LEFT JOIN qryUnion ON tbl-C.Mailadres = qryUnion.Mailadres
GROUP BY Year([Maildate]) & '-' & Month([Maildate]);
我想把它转换成 MySql 数据库。我尝试使用别名或临时表,但无法获得运行代码。有人知道怎么做吗?
【问题讨论】:
-
任何错误信息?首先,Access 在表名周围使用(可选)
[ .. ]来转义名称中的空格等特殊字符。我认为 MySQL 为此使用了反引号:`。其他事情:&for concat 在 MySQL 中是不同的。也许||有效,否则使用CONCAT函数。其余的,请阅读您收到的错误消息并尝试一一解决。基本查询语法是相同的,但有些不同。 -
在 MS Access 中,我得到了正确的信息。我仍在寻找在 MySql 中处理此问题的正确方法。所以,我还没有任何错误。
-
你说“我无法获得运行代码”。我假设您已尝试运行它,但在尝试时出现了一些错误,或者我完全误解了您所说的 “将此 [查询?] 转换为 MySQL” 的意思?
-
也许您应该从展示您在 MySQL 中所做的尝试开始。毕竟,这就是您要开始工作的部分。
-
例如,我试过: (SELECT ‘Mailadres’, ‘Registrationdate’ FROM ‘tbl-A’ Union SELECT ‘Mailadres’, ‘Registrationdate’ FROM ‘tbl-B’) INTO #GOS;从#GOS中选择*;回复:#1064 - 您的 SQL 语法有错误;