Java 内部联接查询中的MySQL语法错误1064
我在使用下面的SQL查询,但我一直得到错误 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解要使用的正确语法Java 内部联接查询中的MySQL语法错误1064,java,mysql,syntax-error,Java,Mysql,Syntax Error,我在使用下面的SQL查询,但我一直得到错误 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解要使用的正确语法 SELECT roomID FROM rooms WHERE roomID NOT IN ( SELECT t1.roomID FROM rooms t1 INNER JOIN reservations t2 ON t1.roomID = t2.roomID INNER JOIN reservationdetails t
SELECT roomID
FROM rooms
WHERE
roomID NOT IN (
SELECT t1.roomID
FROM
rooms t1
INNER JOIN reservations t2 ON t1.roomID = t2.roomID
INNER JOIN reservationdetails t3 ON t2.resDeID = t3.resDeID
WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure)
)
我不是一个很好的SQL程序员。。在读了很多关于SQL的文章之后,我做了所有这些
如果有人能找出这里出了什么问题,那将是一个很大的帮助
提前谢谢 你错过了一次收盘
改变
WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure)
到
你错过了闭幕式
改变
WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure)
到
看起来,至少,你错过了看起来,至少,你错过了你的问题就在这里
WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure)
试着那样做
WHERE t3.arrival >= '2013-01-13' OR t3.departure <= '2013-02-03'
你的问题就在这里
WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure)
试着那样做
WHERE t3.arrival >= '2013-01-13' OR t3.departure <= '2013-02-03'
你应该总是关闭所有打开的括号,好像你错过了一个
SELECT roomID
FROM rooms
WHERE
roomID NOT IN (
SELECT t1.roomID
FROM
rooms t1
INNER JOIN reservations t2 ON t1.roomID = t2.roomID
INNER JOIN reservationdetails t3 ON t2.resDeID = t3.resDeID
**WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure)**
)
您可以删除not和之间的括号,或类似下面的内容
WHERE t3.arrival >= '2013-01-13' OR t3.departure <= '2013-02-03'
或者再加一个括号
WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure))
你应该总是关闭所有打开的括号,好像你错过了一个
SELECT roomID
FROM rooms
WHERE
roomID NOT IN (
SELECT t1.roomID
FROM
rooms t1
INNER JOIN reservations t2 ON t1.roomID = t2.roomID
INNER JOIN reservationdetails t3 ON t2.resDeID = t3.resDeID
**WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure)**
)
您可以删除not和之间的括号,或类似下面的内容
WHERE t3.arrival >= '2013-01-13' OR t3.departure <= '2013-02-03'
或者再加一个括号
WHERE NOT ('2013-01-13' < t3.arrival OR ('2013-02-03' > t3.departure))
看起来您在OR'2013-02-03>t3之后错过了另一个结账。离开看起来您在OR'2013-02-03>t3之后错过了另一个结账。离开如果不是a或b,则等同于其中不是a**和**不是b,如果不是a或b,则等同于其中不是a**和**不是b。。非常感谢大家!!!看起来很糟不睡觉让我错过了。。再次感谢大家!!倒霉。。非常感谢大家!!!看起来很糟不睡觉让我错过了。。再次感谢大家!!