php – 选择多行WHERE匹配两个条件

前端之家收集整理的这篇文章主要介绍了php – 选择多行WHERE匹配两个条件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的例子中显示更好:

我有表,存储用户的答案来自一个大表格.每个表格有139个问题.这些问题存储在不同的表中,需要时使用questionID连接.对于每个用户,都有一个ID.我现在需要制作过滤器,以便仅显示与特定问题的一个或多个答案匹配的用户.

例如,我想要用户,问题14回答“是”,问题54不为空,问题100大于10.这是表格的外观:

**userID** | **questionID** | **answer**

1            14               "yes"
1            54               "something"
1            100              "9"
2            14               "no"
2            54               "north
2            100              "50"
3            14               "yes"
3            54               "test"
3            100              "12"

结果我只想返回userID 3,因为它符合所有条件.

使用ColdFusion很容易实现,因为它允许查询查询结果,但在PHP中我没有找到任何方法.重要的是有机会添加随机数量的问题,而不仅仅是这个例子中的三个.

尝试,
SELECT userID
FROM tableName
WHERE   (questionID = 14 AND
        answer = 'yes' ) OR
        (questionID = 54 AND
        answer <> 'empty') OR
        (questionid = 100 AND
        answer > 10)
GROUP BY userID
HAVING COUNT(*) = 3

SQLFiddle Demo

猜你在找的PHP相关文章