"사용자"라는 테이블과 "항목"이라는 테이블이 두 개 있습니다. users.eventdate 필드가 현재 3 일 이내에있는 사용자의 ID 목록을 컴파일하려고합니다. 물건을 더 복잡하게 만들려면 items.startingdate가 지금부터 3 일 이내에 있는지 확인해야합니다.복잡한 조인 쿼리 조인 테이블에 레코드가 없을 수도 있습니다.
따라서 users.eventdate가 지금부터 3 일 이내이거나 3 일 이내에 item.startdate가있는 경우 users.ID를 반환하십시오. 사용자와 항목 간의 관계는 users.ggProjectId 및 items.uID입니다.
내가 현재 가지고 :
$strSQL = "SELECT users.ID, users.ggProjectId, users.timezone, users.ggTimestamp, users.slug, items.uID
FROM items
JOIN users ON users.ggProjectId = items.uID
WHERE (users.eventdate <= DATE(NOW() + INTERVAL 2 DAY)
AND users.eventdate >= DATE(NOW() - INTERVAL 2 DAY)) OR
(items.startingtime <= DATE(NOW() + INTERVAL 2 DAY)
AND items.startingtime >= DATE(NOW() - INTERVAL 2 DAY))
GROUP BY users.ggProjectId";
문제는 사용자 기록에 대한 항목이없는 경우 다음 나는 EVENTDATE이 시간 내에 때문에 나는 그것을 필요로하더라도 결과로 그를 얻을 수 없다는 것입니다 틀. 나는 그것을 죽이는 것이라고 생각합니다. 데이터가 당신이 가입 할 테이블에 존재하지 않을 경우
감사합니다. 이것은 잘 돌아갔다. –