特定の質問に「はい」、別の質問に「いいえ」と答えた顧客を取得するために、次のクエリがあります。
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
これは問題なく動作します。ただし、クエリを変更して、特定の質問に「はい」と答え、別の質問に「いいえ」と答えた顧客を取得したいと思います。
これをどのように達成できるかについてのアイデアはありますか?
PS-上記の表の応答はEAV形式です。行は列ではなく属性を表します。