(MSaccess to MySQL) FROM 带别名的子查询

(MSaccess to MySQL) FROM subqueries with alias

我在 MS-Access 中有一个 sql 查询,它(当简化为它的基本结构时)运行如下:

SELECT 
  tableA.id, tableB.id
FROM
  (SELECT table.id FROM [table] WHERE (id mod 2 = 0)) AS tableA
  INNER JOIN
  (SELECT table.id FROM [table] WHERE (id mod 3 = 0)) AS tableB
  ON tableA.id = tableB.id
;

对于 A 和 B,returns id 为 6、12 等等。

将脚本改编为 MySQL 时,它无法识别子查询中的别名。我在 MySQL 中找不到平行线,它会是什么?

table 不是 table 名称的好选择。尽管有这个名称,但如果您用反引号代替方括号,您的查询在 MySQL 5.6 中仍然有效。

SELECT 
  tableA.id, tableB.id
FROM
  (SELECT table.id FROM `table` WHERE (id mod 2 = 0)) AS tableA
  INNER JOIN
  (SELECT table.id FROM `table` WHERE (id mod 3 = 0)) AS tableB
  ON tableA.id = tableB.id
;

SQL Fiddle

该版本的查询在 Access 中也应该有效,因为 Access SQL 接受方括号或反引号作为对象名称的分隔符。