gpt4 book ai didi

mysql - MySQL 连接查询中的语法错误

转载 作者:行者123 更新时间:2023-11-29 08:03:08 25 4
gpt4 key购买 nike

我在 MySQL 查询中遇到语法错误。 MySQL 和 SQL Server 的工作方式不同吗?谁能建议一下,哪里出了问题?

select b.component, d.matter, d.bug, d.timestamp,  d.os 
from bugs.profiles p, ops_reports.BPR_TAG_DATA d
left join (Select * from bugs where product='test') b
on d.bug=b.bug_id
where d.tagid = 6
and timestamp between "2014-04-21" and "2014-04-24"
and login_name like 'test'
and p.userid = d.user

错误消息 24/04/2014 23:14:10 0:00:00.037 MySQL 数据库错误:您的 SQL 语法有错误。检查与您的 MySQL 服务器版本相对应的手册,了解在 'Select * from bugs where product='Conversions') as b 附近使用的正确语法上 (d.bu 1 0

最佳答案

您不应混合隐式连接和显式连接。一个简单的规则:只是不要在 from 子句中使用逗号。

select b.component, d.matter, d.bug, d.timestamp, d.os 
from ops_reports.BPR_TAG_DATA d left join
bugs b
on b.product = 'test' and d.bug = b.bug_id left join
bugs.profiles p
on p.userid = d.user
where d.tagid = 6 and
timestamp between '2014-04-21' and '2014-04-24' and
login_name like 'test';

我还删除了子查询,将条件移至 on 子句。这使得查询更加高效。并将日期常量的分隔符更改为单引号。对字符串使用双引号可能会导致困惑。

编辑:

综上所述,问题中的查询看起来在语法上是正确的。我注意到错误消息并未引用此确切的查询。查询包含 product='test') b,错误消息包含 product='Conversions') as b。也许还存在其他差异。

关于mysql - MySQL 连接查询中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23281024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com