代码之家  ›  专栏  ›  技术社区  ›  FutureCake

SQL检查行是否包含值集[重复]

  •  0
  • FutureCake  · 技术社区  · 7 年前

    这个问题已经有了答案:

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

    我现在想检查这个表中的每一行是否包含一组数据。例如:我想查询以下信件: A, B
    这将返回以下行: res1, res4
    这是因为 res1 res4 包含值 A 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

    如果有什么不清楚的地方,请告诉我,以便我能澄清。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Gordon Linoff    7 年前

    你可以用 in :

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