gpt4 book ai didi

mysql - SQL - 使用 WHERE IN 子句选择多个列

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

所以我尝试使用 WHERE IN 子句,其中我使用多列而不是单列。

这是我尝试过的方法,但我一直收到错误:

"error near "," ... "

声明:

SELECT 
*
FROM
language
WHERE
(char1 , char2, char3, char4) in (('H' , 'H', 'B', 'B') , ('B' , 'B', 'B', 'M'))
AND language.type = 'M'

我不确定这里的错误是什么。我想知道是否有人尝试过类似的东西。这似乎是一个微不足道的查询。谢谢。

最佳答案

您不能使用 IN 子句来做到这一点(至少不能那样做)。

一种方法是使用 or 从句

((char1 = 'H' and char2 = 'H' and char3 = 'B' and char4 = 'B') or
(char1 = 'B' and char2 = 'B' and char3 = 'B' and char4 = 'M'))

and language.type = 'M'

如果你真的想使用 IN 子句,你可以使用连接

类似这样的东西(仅适用于此示例,因此您可能需要通过在字段和搜索值之间添加分隔符来进行调整)

where
concat(char1, char2, char3, char4) IN ('HHBB', 'BBBM')

关于mysql - SQL - 使用 WHERE IN 子句选择多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24681977/

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