gpt4 book ai didi

sql - Mysql复杂的Where子句

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:59 25 4
gpt4 key购买 nike

当我在 MySQL 中尝试以下代码时,我真的很惊讶:

SELECT * FROM table 
WHERE (key='free_shipping' and value='yes')
AND (key='price' and value='5')

这是行不通的。我需要同时获得 free_shipping 是 'yes' 且 price 等于 '5' 的产品。如何正确创建此查询?

表结构:

内容:(表 1)

CONTENT_ID   TITLE  DESCRIPTION  DATE

content_fields:(表 2)

FIELD_ID   CONTENT_ID    KEY_NAME    VALUE

示例(获取具有 1 个 ID 且免运费的产品):

SELECT *  FROM `contents` as c LEFT JOIN `content_fields` as cf ON  c.content_id = cf.content_id WHERE c.content_id = 1 AND  cf.key_name = 'free_shipping' AND cf.value = 'yes'

最佳答案

您当前的查询是矛盾的,因为单行永远无法匹配 WHERE 子句。我假设您想要这样的东西。

SELECT product_id
FROM table
WHERE (key='free_shipping' and value='yes') or (key='price' and value='5')
GROUP BY product_id
HAVING COUNT(DISTINCT key) = 2

关于sql - Mysql复杂的Where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750651/

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