sql - 根据具有不同过滤选项的同一列上的 where 条件从表中选择详细信息
问题描述
我有一个具有以下指定结构的表
从表中,我只想检索具有值为12的 Ram 和具有Blue的颜色的产品 id 。预期结果是 1。我尝试了很多查询,但没有共享预期结果。
解决方案是什么?
由于我们有一组未定义的功能,因此很难为每个功能管理单独的表。
解决方案
您可以使用条件聚合:
select productid
from t
group by productid
having max(case when feature = 'Ram' then value end) = '12' and
max(case when feature = 'Color' then value end) = 'Blue';
推荐阅读
- flutter - 颤振导航器弹出对话框 - 错误 - 未处理的异常:NoSuchMethodError:方法'findAncestorStateOfType'被调用为null
- direct2d - 使用纹理数组作为 Direct2D 表面渲染目标
- python - Python Selenium 浏览器窗口无法打开
- java - ClassNotFoundException JavaRecursiveElementVisitor
- r - 如何计算字符串出现的次数
- javascript - discord.js var 令牌意外
- python - 使用 Soup 和 Python 抓取搜索结果,Split 只返回一个值而不是列表?
- javascript - javascript/jquery clearInterval 有效但有延迟
- java - 如何从 excel 中获取整数值并存储在 Soap UI 属性步骤中
- python - python SpeechRecognition 模块中的麦克风无法识别语音