MYSQL在两列中?
有没有可能从表中选择x1,x2(值)?我不相信这是可能的-您只需声明MYSQL在两列中?,sql,mysql,Sql,Mysql,有没有可能从表中选择x1,x2(值)?我不相信这是可能的-您只需声明 SELECT * FROM table WHERE (x1 IN (values) OR x2 IN (values)) .. 或 …取决于您需要的逻辑。取决于您的意思,您必须编写 ... WHERE x1 IN (values) AND x2 IN (values) ... WHERE x1 IN (values) OR x2 IN (values) 但是您必须复制值列表,它应该是这样的 SELECT * FROM t
SELECT * FROM table WHERE (x1 IN (values) OR x2 IN (values)) ..
或
…取决于您需要的逻辑。取决于您的意思,您必须编写
... WHERE x1 IN (values) AND x2 IN (values)
... WHERE x1 IN (values) OR x2 IN (values)
但是您必须复制值列表,它应该是这样的
SELECT * FROM table WHERE (x1,x2) IN ((value1,value2), (value3,value4));
你甚至可以这样做:
SELECT * FROM table WHERE (x1,x2) IN (SELECT x3,x4 FROM another_table);
当然,x3和x4必须分别匹配x1和x2的数据类型。如果需要成对匹配:
SELECT *
FROM table
WHERE (x1, x2) IN ((1, 2), (3, 4))
将仅匹配1,2
或3,4
如果需要交叉匹配:
SELECT *
FROM table
WHERE x1 IN (1, 3)
AND x2 IN (2, 4)
将匹配
1,2
,3,2
,1,4
或3,4
中的任何一个,类似于<代码>从表中选择*,其中x1 IN(值)或x2 IN(值)代码>从表中选择*,其中x1 IN(值)和/或x2 IN(值)-不是?+1不知道您可以使用该语法进行配对匹配。这样做更简洁。+1用于配对匹配(我找不到它的文档,但尝试:在((1,2),(3,4))中选择(1,3);
仅匹配配对…(1,2)或(3,4)。不错…很好的功能,但不幸的是,这不是我需要的,但我用这个:D管理它
SELECT *
FROM table
WHERE x1 IN (1, 3)
AND x2 IN (2, 4)