我正在开发一个我所在的数据训练营的项目,我正在使用三个表。在这些表中,我试图找到有关此数据集中用户的更多信息。我想回答的一些问题是......
select user_id, q2, q3, q4
from survey
where q2 = '0' or '1' and q3 = '0' or '1' or '2' or '3' and q4 = '0' or '1' or '2' or '3' or '4' or '5'
我想拉出q2,q3,q4的命名值。如何正确写入以便将数据拉入一组?我想将它拉成一组,以便我可以导出和导入到Excel并转动数据。
答案 0 :(得分:4)
两个问题:
and
和or
,请确保使用()
正确包装.. or
之间必须再次指定比较。 q3 = '0' or '1'
无法工作 - >更改为q3 = '0' or q3 = '1'
所以:
select user_id, q2, q3, q4
from survey
where (q2 = '0' or q2 = '1')
and (q3 = '0' or q3 = '1' or q3 = '2' or q3 ='3')
and (q4 = '0' or q4 = '1' or q4 = '2' or q4 = '3' or q4 = '4' or q4 = '5')
现在,更好的方式这样做就是使用in
select user_id, q2, q3, q4
from survey
where q2 in ('0','1')
and q3 in ('0','1','2','3')
and q4 in ('0','1','2','3','4','5')
答案 1 :(得分:3)
您的查询错误的是您无法编写q2 = '1' or '2'
。这是无效的语法。请改用in
:
where q2 in ('0','1') and q3 in ('0','1','2','3') and q4 in ('0','1','2','3','4','5')