我有此表,其中包含一些我感兴趣的数据。该表称为交易。基本上,我想选择该表中的所有数据,但必须满足此条件。
trade_session_status="DONE"
(trade_prediction="up" AND trade_result="up" ) OR (trade_prediction="down" AND trade_result="down" )
我这样写了整个查询
select * from trades where trade_session_status="DONE" AND
(trade_prediction="up" AND trade_result="up" ) OR
(trade_prediction="down" AND trade_result="down" )
我想获取trade_session_status为“ DONE”且有人预测了结果确实上升的所有数据,或有人预测了结果下降了的数据。
查询返回一些数据,没有任何错误。我的查询表达式正确吗?。
答案 0 :(得分:1)
您需要添加其他括号:
select *
from trades
where trade_session_status="DONE"
AND ((trade_prediction="up" AND trade_result="up" )
OR (trade_prediction="down" AND trade_result="down" ))
或者:
select *
from trades
where trade_session_status='DONE'
AND (trade_prediction, trade_result) IN (('up', 'up'),('down', 'down'))