首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL中语法错误??哪里?

SQL中语法错误??哪里?
EN

Stack Overflow用户
提问于 2011-07-07 10:49:42
回答 1查看 142关注 0票数 1
代码语言:javascript
复制
SELECT `bio_community_events`.`id`,
       `bio_community_events`.`begin_on`,
       `bio_community_events`.`name`
  FROM `bio_community_events`
  JOIN `bio_contacts`
    ON (`bio_contacts`.`contact_id` = `bio_community_events`.`user_id`)
  JOIN `bio_community_groups`
    ON (`bio_community_groups`.`id` = `bio_community_events`.`group_id`)
 WHERE `bio_contacts`.`user_id` = '33'
 WHERE `bio_community_events`.`group_id` = '1'
 LIMIT 10

UNION ALL

SELECT `bio_community_events`.`id`,
       `bio_community_events`.`begin_on`,
       `bio_community_events`.`name`
  FROM `bio_community_events`
  JOIN `bio_contacts`
    ON (`bio_contacts`.`user_id` = `bio_community_events`.`user_id`)
  JOIN `bio_community_groups`
    ON (`bio_community_groups`.`id` = `bio_community_events`.`group_id`)
 WHERE `bio_contacts`.`contact_id` = '33'
 WHERE `bio_community_events`.`group_id` = '1'
 LIMIT 10

上面写着:

错误1064 -您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以获得在“WHER.group_id=‘1”附近使用的正确语法。

我找不到语法错误!

编辑:

我把所有的东西都放在括号里,加上“和地点”。不工作..。还是同样的错误。

新查询:

代码语言:javascript
复制
SELECT `bio_community_events`.`id`,
`bio_community_events`.`begin_on`,
`bio_community_events`.`name`
FROM `bio_community_events`
JOIN `bio_contacts`
ON (`bio_contacts`.`contact_id` = `bio_community_events`.`user_id`)
JOIN `bio_community_groups`
ON (`bio_community_groups`.`id` = `bio_community_events`.`group_id`)
WHERE (`bio_contacts`.`user_id` = '33')
AND WHERE (`bio_community_events`.`group_id` = '1')
LIMIT 10

UNION ALL

SELECT `bio_community_events`.`id`,
`bio_community_events`.`begin_on`,
`bio_community_events`.`name`
FROM `bio_community_events`
JOIN `bio_contacts`
ON (`bio_contacts`.`user_id` = `bio_community_events`.`user_id`)
JOIN `bio_community_groups`
ON (`bio_community_groups`.`id` = `bio_community_events`.`group_id`)
WHERE (`bio_contacts`.`contact_id` = '33')
AND WHERE (`bio_community_events`.`group_id` = '1')
LIMIT 10

编辑#2:

我看了你的例子。愚蠢的我!谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-07 10:51:32

您有两个WHERE子句,需要将第二个WHERE替换为ANDOR

编辑:像yper多维数据集一样,指出,UNION-clause的两个子查询都有错误。

例如:

代码语言:javascript
复制
SELECT `bio_community_events`.`id`,
   `bio_community_events`.`begin_on`,
   `bio_community_events`.`name`
FROM `bio_community_events`
JOIN `bio_contacts`
    ON (`bio_contacts`.`user_id` = `bio_community_events`.`user_id`)
JOIN `bio_community_groups`
    ON (`bio_community_groups`.`id` = `bio_community_events`.`group_id`)
WHERE `bio_contacts`.`contact_id` = '33'
AND `bio_community_events`.`group_id` = '1'
LIMIT 10

编辑2:

WHERE子句接受布尔表达式。每次查询只能有一个WHERE子句。

选择语法

表达式语法

如果您想连接两个表达式,您必须使用ORAND等。您不需要编写另一个WHERE子句。这一切都进入了一个WHERE

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6609419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档