我正在尝试在运行MySQL 3.23的旧BugZilla MySQL数据库中使用UNION语句。这是我想要做的简化版本。它真的没什么异国情调,但MySQL一直说有些不对劲。
(select bug_id,rep_platform from bugs where rep_platform='XX')
UNION
(select bug_id,rep_platform from bugs where rep_platform='YY');
我得到的结果是:
ERROR 1064 (HY000): You have an error in your SQL syntax near '(select bug_id,rep_platform from bugs where rep_platform='XX')
UNION
(select bu' at line 1
这就像你能得到的联合声明一样简单。有什么想法吗?
编辑:我在MySQL 5 DB上运行了一个非常类似的查询,它运行得很好。这些在MySQL 3上的特殊UNION语法是不是出现在文档或Google搜索中?答案 0 :(得分:3)
为什么不这样做呢:
SELECT DISTINCT bug_id, rep_platform
FROM bugs
WHERE rep_platform IN ('XX', 'YY');
答案 1 :(得分:0)
我认为你的意思是
select bug_id,rep_platform from bugs A where rep_platform='XX'
UNION
select bug_id,rep_platform from bugs where rep_platform='YY';
Joe的回答更轻松,更令人愉悦。乔为+1。
我做的两个改变是
答案 2 :(得分:0)
UNION不在MySQL 3中工作的原因是因为MySQL 3不支持UNION语句:)看一下官方documentation。
UNION用于将多个SELECT语句的结果合并到一个结果集中。 UNION可从MySQL 4.0.0开始使用。
请查看此article以获取解决方法。