0을 얻을 수없는 경우에 나는이 쿼리가 :관련 테이블에서 SUM을 가져옵니다. 합
$sql = "SELECT m.id FROM members m
LEFT JOIN orders o ON o.user_id = m.id AND
YEAR(date) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) AND
MONTH(date) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)
LEFT JOIN transactions t ON t.user_id = o.user_id";
내가 transactions.points의 합계를 얻을 필요를, 그래서이 수행
$sql = "SELECT m.id, COALESCE(SUM(t.points), 0) AS total_points FROM members m
LEFT JOIN orders o ON o.user_id = m.id AND
YEAR(date) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) AND
MONTH(date) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)
LEFT JOIN transactions t ON t.user_id = o.user_id";
그러나이 나는 이것을 실행하면, I 일부 거래 (및 주문)가있는 행만 가져옵니다. 트랜잭션이 발견되지 않을 때 total_points를 0으로 얻으려면 어떻게해야합니까?
텍스트 설명 : 지난 달에 주문이 생성 된 (주문 테이블) 주문의 포인트 보상 (거래 테이블에서) 합계를 얻고 싶습니다.
감사합니다.
이것은 나를 위해 작동하지 않습니다. – mabezdek
편집 된 버전을 사용해보십시오. 파생 된 테이블에 별칭't'가 있습니다 .i 제거했습니다. –
아직도 작동하지 않습니다. 위의 해결 방법은 잘 작동하지만 매우 감사합니다. – mabezdek