gpt4 book ai didi

Mysql SELECT 其中 2 列匹配一组值

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:15 26 4
gpt4 key购买 nike

我正在做产品过滤器 重点是用户选择的产品越具体,出现的结果就越少。此刻我正在编写多个查询并存储在数组中并检查数组相交,但结果相反,这意味着当用户应用更多过滤器时,我将显示更多产品。

所以我想可能有一个我不知道的 SQL 命令!

简化示例:

------------
table "filter"
------------
product
Spec
value


------------
Sample data
------------

book1,page,200
book1,cover,leather
book1,language,en

book2,page,300
book2,cover,paper
book2,language,de

book3,page,150
book3,cover,hard
book3,language,en



SELECT `product` FROM `filter` where ...

如何选择(page=200 和 langauge=en)?

最佳答案

如果理解正确,你可能正在寻找这样的东西

SELECT product
FROM filter
WHERE (spec = 'page' AND value = '200')
OR (spec = 'language' AND value = 'en')
GROUP BY product
HAVING COUNT(*) = 2 -- 2 here represents number of spec-value pairs

输出:

| PRODUCT |
-----------
| book1 |

SQLFiddle

关于Mysql SELECT 其中 2 列匹配一组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16493782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com