SQL检查行是否包含值集

时间:2018-06-03 22:09:27

标签: php mysql sql row multiple-columns

我有一个如下数据库: enter image description here

我现在想要检查此表中的每一行是否包含一组数据。像这样:我想查询以下字母:fb:linkInternalExists
这应返回以下行:A, B
这是因为res1, res4res1在其中一列中包含值res4A

这种逻辑也适用于这种情况:
如果我只查询字母B,则查询必须返回以下行:B

所以我想要发生的是,如果这些列中的任何一个包含查询值之一,查询将检查列res1, res2, res4。如果行中存在所有查询的值(四列),则返回该行。

我如何用SQL做这个我不知道。我试过了 valsx, valsy, valsz, valsq

如果有任何不清楚的地方让我知道,我可以澄清一下。

1 个答案:

答案 0 :(得分:2)

您可以使用in

select t.*
from t
where 'A' in (valsx, valsy, valsz, valsq) and
      'B' in (valsx, valsy, valsz, valsq);