그래서이 행 WHERE s.status = 'pending'
까지 데이터가 'closed'
으로 반환 될 때까지 정상적으로 작동하는 쿼리가 있습니다. 보류 중, 폐쇄 중 및 라이브 중이 데이터 섹션에는 3 가지 옵션 만 있습니다.잘못된 데이터를 반환하는 SQL 쿼리가 매우 이상합니다.
나는 왜이 일을하는지 전혀 모르겠다. 나는 같은 쿼리를 사용하지만 페이지의 다른 섹션 (이 쿼리 아래에서 변수가 충돌하지 않아야 함)에 status = 'closed'
을 가지고 있는데, 왜 이것이 지금이 방법으로 행동할까요?
SELECT s.gameid, s.gameday, s.hometeam AS hid, ht.teamname AS homename, s.awayteam AS aid, at.teamname AS awayname, s.status
FROM schedule s
INNER JOIN teams ht ON s.hometeam = ht.teamid
INNER JOIN teams at ON s.awayteam = at.teamid
WHERE s.status = 'pending' AND s.hometeam = $tid OR s.awayteam = $tid ORDER BY s.gameday ASC LIMIT 5
'AND'와'OR'을 섞을 때 항상 참이어야하는 것과 무엇이 선택적인지를 명확히하기 위해'()'를 사용하십시오. – Wrikken