Sql 与where&;和
出于某种原因,我仍然启用了Sql 与where&;和,sql,join,Sql,Join,出于某种原因,我仍然启用了SMS\u返回1s和ACTIVE返回0s。谁能给我指出正确的方向吗 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_ENABLE
SMS\u
返回1
s和ACTIVE
返回0
s。谁能给我指出正确的方向吗
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;
您需要用括号将子句分组:
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
如果在相同的条件下使用或,请使用括号。
t(2,3)
中的角色ID将解决问题,并且不会太冗长