我已经设法使查询的第一部分正常工作,这是日期检查的最后一部分抛出我。
SELECT * FROM users WHERE available LIKE 'Yes' AND users.id NOT IN (SELECT player_id FROM match_request WHERE club_id LIKE '1000000003') AND (clubs.match_date >= CURRENT_DATE() WHERE clubs.id LIKE '1000000003')
这是我无法解决的这一部分:
(clubs.match_date >= CURRENT_DATE() WHERE clubs.id LIKE '1000000003')
我收到错误消息
"#1064 - 您的 SQL 语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近第 1 行的"clubs.id 像'1000000003'(限制 0、25' 的地方">
但我不知道如何解决这个问题。
将where
替换为and
SELECT *
FROM users
WHERE available LIKE 'Yes'
AND users.id NOT IN
(
SELECT player_id
FROM match_request
WHERE club_id LIKE '1000000003'
)
AND clubs.match_date >= CURRENT_DATE()
AND clubs.id LIKE '1000000003'
^^^-----here
并且如果您引用clubs
表的任何列,则需要联接该表。