内部加入WHEREs&与运算

时间:2017-01-10 22:30:27

标签: sql join

出于某些原因,我仍然SMS_ENABLED返回1ACTIVE返回0。有人能指出我正确的方向吗?

SELECT 
    ROLE_ID, FIRST_NAME, LAST_NAME, EMAIL, t.CLUB_ID, sms_enabled, active
FROM TFO_USER t    
INNER JOIN CLUB c
    ON c.CLUB_ID = t.CLUB_ID
WHERE 
    t.ROLE_ID=2 OR t.ROLE_ID=3 AND c.SMS_ENABLED=0 AND c.ACTIVE=1;

1 个答案:

答案 0 :(得分:1)

您需要使用括号对您的子句进行分组:

SELECT 
   ROLE_ID, FIRST_NAME, LAST_NAME, EMAIL, t.CLUB_ID, sms_enabled, active
FROM
   TFO_USER t
      INNER JOIN CLUB c ON c.CLUB_ID = t.CLUB_ID
WHERE ( t.ROLE_ID=2 OR t.ROLE_ID=3 ) AND 
      c.SMS_ENABLED=0 AND 
      c.ACTIVE=1