我有以下数据。
| ID|标题|
| --------------|--------------|
| 一百|蓝色|
| 一百|黑色|
| 一百|橙子|
| 一百零一|褐色|
| 一百零一|绿色|
| 一百零二|绿色|
| 一百零二|白色|
| 一百零二|黄色|
| 一百零三|黄色|
| 一百零三|蓝色|
| | |
预期结果:如果我选择蓝色,我想得到100和103。如果选择蓝色和黄色只返回103。如果我选择蓝色黄色和白色,不应该返回结果。基本上我只想得到匹配所有选定颜色的PID列。
注意:IN SQL语句只会给予我包含语句中提到的任何颜色的PID。我需要满足上面解释的标准。让我有你的想法。我对所有建议都持开放态度,即使解决方案将涉及初始结果的sql查询组合,然后根据需要过滤JSON对象
我已经尝试在WHERE predicate 子句中使用IN,但这只能给我与语句中的任何颜色匹配的PID
2条答案
按热度按时间beq87vna1#
i7uq4tfw2#
这可以概括为:
你可以传递确切的颜色和它们的计数为'n'。这里是一个DBFILLDLE demo。
当您传递三种颜色时:
输出:空。
传递两种颜色时:
输出:
传递单色时:
输出: