我有一个如下所示的数据库:
现在,我希望检查该表中的每一行是否包含一组数据。如下所示:我想查询以下字母:A, B
这将返回以下行:res1, res4
这是因为res1
和res4
在其中一列中都包含值A
和B
此逻辑也适用于此情况:
如果我只查询字母B
,那么查询必须返回以下行:res1, res2, res4
所以我想要发生的是,如果这些列中的任何一列包含一个查询值,查询就会检查列valsx, valsy, valsz, valsq
。如果行(四列)中存在所有查询的值,则返回该行。
我不知道如何使用SQL来做到这一点。我试过select * from table where valsx contains b or valsy contains b or valsz contains b or valsq contains b
如果有什么不清楚的地方,请让我知道,这样我才能澄清。
发布于 2018-06-04 06:12:53
您可以使用in
select t.*
from t
where 'A' in (valsx, valsy, valsz, valsq) and
'B' in (valsx, valsy, valsz, valsq);
https://stackoverflow.com/questions/50671409
复制相似问题