sql - 有没有办法从 DB2 中 where 子句中的条件集获取结果
问题描述
我有常用的衬衫库存表:尺码、颜色和品牌。我必须找到匹配的价格并添加到电子表格中的列表中
我对【大号、红色、耐克】、【小号、白色、彪马】和【中号、蓝色、H&M】感兴趣
我现在正在做的是:
select size,colour,brand,price from inventory
where size in ('large','small','medium')
and colour in ('red','white','blue')
and brand in ('Nike','Puma','H&M')
然后我得到一长串满足 3*3 条件的任意组合的库存。然后我会做一个 xlookup 来找到我需要的三个确切的组合。
(我的实际列表显然要长得多,并且具有更多具有更多值的变量。但这是最简单的示例)
这显然非常无效,但我不知道如何使我的查询更直接。
有什么方法可以创建一个简单的循环,例如,一个条件数组?就像是
condA=('large','small','medium')
condB= ('red','white','blue')
condC=('Nike','Puma','H&M')
for a = 0 to 2
select size, colour,brand,price from inventory
where size=condA(a)
and colour=condB(a)
and brand=condC(a)
next a
如果这有所不同,我正在使用 DB2 数据库......
解决方案
最好的方法是使用您正在寻找的确切组合直接过滤案例:
select size,colour,brand,price from inventory
where (size ='large' and brand = 'Nike' and colour='red')
or ( size ='small' and brand = 'Puma' and colour='white')
or (size ='medium' and brand = 'H&M' and colour='blue')
这样你就不需要查看提取的结果来确保组合是正确的
推荐阅读
- python - 如何获取对象的根/父类?
- .net - 使用 azure 服务总线调试 Visual Studio .net 应用程序的替代方法
- typescript - “字符串”类型的参数不能分配给“字符串 []”类型的参数
- c++ - 使用外部和防止重复定义
- rust - 如何修改 HashSet 中不属于哈希计算的属性?
- html - 坚持修剪 CSS 精灵
- node.js - npm : 取决于: node-gyp (>= 3.6.2~) 但它不会被安装
- wpf - 列出并绑定到类型的属性,而不是类型的集合
- c - 是否可以从预处理器转换为数组?
- c# - 无法翻译 LINQ 表达式“Sum()”并将在本地计算