这是mysql表。查询选择已回答每个问题的答案集中的所有问题的用户
User Question Answer
20 1 answer1_2
20 2 answer2_5
20 3 answer3_1
726 1 answer1_2
726 2 answer2_5
726 3 answer3_1
我想谁给的所有问题的答案, 的用户,我们有组预定义的每个问题的答案。
喜欢问1可以从答案answer1_1,answer1_2,answer1_3 问题2可具有answer2_1,answer2_2,answer2_3
答案起初,我想这样的查询:
SELECT GROUP_CONCAT(DISTINCT CAST(User AS CHAR)) allUsers, COUNT(DISTINCT User) totalUsers
FROM survey
WHERE
(
(
Question =1
AND Answer = 'answer1_2'
)
OR (
Question =1
AND Answer = 'answer1_2'
)
OR (
Question =1
AND Answer = 'answer1_3'
)
)
AND (
(
Question =2
AND Answer = 'answer2_1'
)
OR (
Question =2
AND Answer = 'answer2_2'
)
OR (
Question =2
AND Answer = 'answer2_3'
)
)
后来我看到结果,并意识到所有问题中的“AND”不适用于我的要求 ,但我需要结果与该逻辑。
表结构无法更改。
我们还必须指定每个问题的可能答案。 您的解决方案将确保只给出所有答案。 – 2011-05-24 09:05:57
然后,您可以将其链接并选择与上述查询中的所有用户相匹配的所有用户 - 您没有提到您需要答案,您说您需要用户。 – BugFinder 2011-05-24 09:30:02