0

我有两台 mySQL 服务器——离线版是 5.5.25,在线版是 5.0.95。我正在尝试运行 UNION SELECT 以将两个结果集连接在一起。两个查询都使用相同的连接从相同的表中提取相同的数据 - 每个查询的唯一区别是 where 查询。基本语法是:

(SELECT QUERY A) 
UNION 
(SELECT QUERY B) 
ORDER BY date_created DESC, subscription_rate_id ASC

如果我离线运行此查询,我会收到此错误:

错误号:1064

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'INNER JOIN webmasterd ON附近使用的正确语法ddupe_master_id= webmasterwebmaster_id在第 16 行

如果我单独运行查询,那么它们都可以工作。如果我在线运行整个查询,它可以工作。这仅发生在我的离线 mySQL 中,它正在运行两者的较新的 mySQL 版本。我相信该错误与查询 B 有关-但查询 A 中存在相同的 INNER JOIN。

该查询非常长并且不容易缩短/分解,这就是我没有将其粘贴在这里的原因。如果绝对必要,我会找到一种方法来提供它。

任何帮助表示赞赏。

4

1 回答 1

3

去掉周围的牙套

FROM (`webmaster`)

FROM `webmaster`

有关不同版本和错误消息,请参阅SQL Fiddle

于 2012-12-04T10:31:05.760 回答