gpt4 book ai didi

mysql - #2014 - 命令不同步;你现在不能运行这个命令 SQL 子查询

转载 作者:行者123 更新时间:2023-11-30 21:27:19 27 4
gpt4 key购买 nike

我看过类似的问题,看到几个类似的问题答案不明确,所以我想在这里问。

'''
USE country_club;


SELECT fac.name,
concat(mem.firstname, ' ', mem.surname) AS fullname,
starttime =
(SELECT starttime
FROM Bookings
WHERE starttime LIKE '2012-09-14%'),
(slots * 30) AS mincost,
CASE
WHEN boo.memid=0 THEN boo.slots*fac.guestcost
ELSE boo.slots*fac.membercost
END AS cost
FROM Bookings AS boo
LEFT JOIN Members AS mem ON boo.memid = mem.memid
LEFT JOIN Facilities AS fac ON boo.facid = fac.facid
HAVING cost > 30;
'''

错误出现在我添加第二个 SELECT 语句后,我知道这不是最好的查询方式,但这是我作业的要求。

最佳答案

我相信造成您麻烦的 SQL 子句就是这个。 (如果这不是真的,请编辑您的问题以澄清它。)

 WHERE ...
starttime =
(SELECT starttime
FROM Bookings
WHERE starttime LIKE '2012-09-14%'),

这是一个奇怪的操作。看起来您想要特定日期的所有 starttime 值。那么,为什么不直接在您的查询中这么说呢?你需要的是这样的东西。

 WHERE ...
starttime >= '2012-09-14 00:00:00'
AND starttime < '2012-09-14 00:00:00' + INTERVAL 1 DAY

我相信您遇到了奇怪的诊断“命令不同步”错误,因为您的查询说

   SELECT WHERE .... value = (whole mess of values)

你的 MySQL 服务器追着它的尾部试图理解你并最终放弃而不是直接拒绝它作为语法错误。

关于mysql - #2014 - 命令不同步;你现在不能运行这个命令 SQL 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58259189/

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