加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 14:07:21 所属栏目:PHP教程 来源:网络整理
导读:在我的例子中显示更好: 我有表,存储用户的答案来自一个大表格.每个表格有139个问题.这些问题存储在不同的表中,需要时使用questionID连接.对于每个用户,都有一个ID.我现在需要制作过滤器,以便仅显示与特定问题的一个或多个答案匹配的用户. 例如,我想要用户,
在我的例子中显示更好:

我有表,存储用户的答案来自一个大表格.每个表格有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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读