首页 > 解决方案 > 如何在 mysql 工作台的列中创建一个选择多个项目的条件语句?

问题描述

我是一个完全的新手,我正在尝试创建一个代码,它将为我提供同时跟踪 question_id = '1' 和 question = '10' 的人的参与者 ID 并计算结果。

SELECT participant_id, created_on, question_id, question_label
FROM Data.tracking
Where 
    (question_id = '1' AND question_label = 'Where is the pain?' ) OR 
    (question_id = '10' AND question_label = 'What did you do to self-manage?') 
Group By participant_id
Having Count(distinct question_id)=2

标签: mysqlsqlconditional-statementsmysql-workbench

解决方案


在不知道表 DDL 的情况下,这是我最好的猜测:

SELECT t.participant_id, t.created_on, t.question_id, t.question_label
FROM (
SELECT participant_id
FROM Data.tracking
Where 
    (question_id = '1' AND question_label = 'Where is the pain?' ) OR 
    (question_id = '10' AND question_label = 'What did you do to self-manage?') 
Group By participant_id
Having Count(distinct question_id)=2) s
INNER JOIN Data.tracking t
ON t.participant_id=s.participant_id
Where 
    (t.question_id = '1' AND t.question_label = 'Where is the pain?' ) OR 
    (t.question_id = '10' AND t.question_label = 'What did you do to self-manage?')

推荐阅读