gpt4 book ai didi

mysql - 多列 WHERE IN AND

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

我目前正在使用 MySQL (5.7) 来查询成员表。

当我执行如下查询时:

SELECT fname, lname, added
FROM Members
WHERE ((fname, lname) IN (('firstname one', 'lastname one'), ('firstname one', 'lastname one')));

它按预期工作,并显示成员的名字、姓氏和添加日期的列表。

但是如果我想在添加成员时缩小范围,例如

SELECT fname, lname, added
FROM Members
WHERE ((fname, lname) IN (('firstname one', 'lastname one'), ('firstname two', 'lastname two')))
AND added => '2014-01-01 00:00:00' AND added <= '2014-06-01 00:00:00';

我收到错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=> '2014-01-01 00:00:00' AND added <= '2014-06-01 00:00:00'' at line 3

如果我在单个列上尝试 IN 子句:

...
WHERE fname IN ('firstname one', 'firstname two')
AND added => '2014-01-01 00:00:00' AND added<= '2014-06-01 00:00:00'

它工作正常。因此,问题似乎出在两列(或更多列)上的 IN 子句。

有人可以指出我做错了什么吗?

最佳答案

正如德鲁所指出的,我改变了:

AND added => '2014-01-01 00:00:00' AND added <= '2014-06-01 00:00:00';

至:

AND added BETWEEN '2014-01-01 00:00:00' AND '2014-06-01 00:00:00';

并且成功了。

关于mysql - 多列 WHERE IN AND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292009/

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