我有一张这样的桌子
Table
-----
userid
fieldid
fieldvalue
其中 userid 和 fieldid 是该表的主键对。
我想做一个 sql 查询来查找所有fieldvalue
与所选内容相等的用户fieldid
例如,对于值
fieldid: 817
fieldvalue: 'yes'
我可以有一个 sql 查询,如:
select userid FROM table where (fieldid=817 AND fieldvalue='yes')
此查询工作正常。
但是,如果我有第二个或第三个标准,则进行如下查询:
select userid
FROM table
where (fieldid=817 AND fieldvalue='yes')
AND (fieldid=818 AND fieldvalue='no')
返回一个空结果,但在单个标准中满足条件。
有什么办法可以纠正这个吗?
更新
我忘了写一个用例(appologies)
userid, fieldid, fieldvalue
1 , 817, yes
1, 818, no
1, 825, yes
2, 817, yes
2, 818, yes
3, 829, no
对于这个表,我想要一个 sql 查询来查找满足以下条件的用户: fieldid 817 的值为 yes,fieldid 818 的值为 no
使用 OR 建议我到目前为止满足了 fieldid 817 的值为 yes 或 fieldid 818 的值为 no
我希望两个条件都满足。在上面的预期结果将是
userid
1
并不是
userid
1
2
由于 userid 2 不满足这两个条件。为混乱道歉。