当前位置: 首页 > 面试题库 >

SELECT多行WHERE匹配两个条件

吴经略
2023-03-14
问题内容

这将更好地显示在我的示例中:

我有一张桌子,存储着用户从一种大表格中得到的答案。每个表格有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


 类似资料:
  • 问题内容: 例如,我对我的书籍清单有动态过滤器,可以在其中设置特定的颜色,作者和类别。该过滤器可以一次设置多种颜色,也可以设置多种类别。 如何有条件地添加“ where”? 问题答案: 如您在API文档中所见,collection()方法返回一个CollectionReference。CollectionReference扩展了Query。Query.where()和Query.orderBy()

  • 试图确定是否可以创建一个连接表的查询,表一比表二小,表二有多个匹配表一条目的引用,查询将输出一个连接,其中表一的长度保留,但您只需添加更多列。我不确定这是否有意义,所以这里是我想要的一个例子 更新!! 保持原来的查询并使用PHP处理结果,也获得了很好的性能。让我知道如果你需要我张贴我的代码。

  • 问题内容: 领域。包含“ Stylus Photo 2100”并带有以下查询 我没有结果。我当然会搜寻 如何通过搜索“ Stylus 2100”选择记录? 谢谢 问题答案: 好吧,如果您知道单词的顺序..您可以使用: 您也可以使用:

  • 我尝试在数据帧“df_energy”中添加一个新的列“energy_class”,如果“consumpion_energy”值为 有什么办法可以帮我吗? 先谢谢你

  • 我有两个文件file1。txt和file2。txt。 文件1。文本 file2.txt 我想匹配文件1的第1、2和3列。带有文件2第1、4和5列的txt。txt。如果匹配,则将匹配行与以下行一起打印,直到,但不要打印。我用“awk”命令试过了

  • 问题内容: 我目前有一个查询,它将根据我想使用的任何条件从数据库中提取一堆信息。 如果参数=’‘,我希望能够删除注释部分并仅显示所有行 例如,如果我使用它,它将按该参数搜索,如果我使用它,将按该参数搜索。 我已经尝试使用以下方法和其他一些尝试,但是进展并不很快。 问题答案: 您可能需要考虑构建查询。