gpt4 book ai didi

MYSQL查询帮助(EAV表)

转载 作者:行者123 更新时间:2023-11-29 05:44:53 24 4
gpt4 key购买 nike

我有以下查询来检索对特定问题回答"is"“OR”对另一个问题回答“否”的客户。

SELECT customers.id
FROM customers, responses
WHERE (
(
responses.question_id = 5
AND responses.value_enum = 'YES'
)
OR (
responses.question_id = 9
AND responses.value_enum = 'NO'
)
)
GROUP BY customers.id

效果很好。但是,我希望更改查询以检索对特定问题“AND”回答“否”的客户。

关于如何实现这一点有什么想法吗?

PS - 上面表格的回复是 EAV 格式,即。一行代表一个属性而不是一列。

最佳答案

我假设您的响应表中有一个名为 customer_id 的列。尝试将响应表连接到自身:

SELECT Q5.customer_id
FROM responses Q5
JOIN responses Q9 ON Q5.customer_id = Q9.customer_id AND Q9.question_id = 9
WHERE Q5.question_id = 5
AND Q5.value_enum = 'YES'
AND Q9.value_enum = 'NO'

关于MYSQL查询帮助(EAV表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3272125/

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