【问题标题】:SQL, find an ID which contains 2 values in 2 linesSQL,在 2 行中查找包含 2 个值的 ID
【发布时间】:2014-09-12 22:52:12
【问题描述】:

我的 BDD 看起来像这样:

id_feature | id_product | id_feature_value

 1          1               20
 2          2               21
 3          3               20
 4          2               20

我需要获得 id_Feature_Value 20 AND 21 的产品。

我找不到正确的语法来得到我的结果...

谢谢

【问题讨论】:

    标签: sql select mysqli


    【解决方案1】:

    这应该可行:

    select
      a.id_product
    from
      yourtable a,
      yourtable b
    where
      a.id_product=b.id_product and
      a.id_feature_value=20 and
      b.id_feature_value=21
    

    【讨论】:

    • 感谢您的回答,但我只有一张桌子,所以我不知道该放什么桌子 b
    • 什么都没有。 a 和 b 只是同一个表的别名。我对查询进行了一些修改。
    【解决方案2】:

    我已经找到方法了。

    我的请求检查所有值为 20 或 21 的产品。如果它们有两个值,id_product 将显示两次,因为没有分组依据。

    我只需要使用 HAVE(id_product) > 1 添加一个 where 子句

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-24
      • 2013-01-30
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 2021-12-23
      • 2011-05-20
      • 1970-01-01
      相关资源
      最近更新 更多