현재 두 번째 테이블의 일일 통계를 비롯한 글로벌 통계가 포함 된 한 테이블에서 개체를 가져 오려고합니다. 이를 위해 statsTable에 'oID
'및 'Date
'열의 일치하는 행이 포함되어있는 한 다음과 같은 조인 - 쿼리를 사용합니다.폴백 값을 사용하여 두 개의 테이블에서 열 가져 오기
SELECT
o.ID as ID,
o.Image as Image,
o.Text as `Text`,
o.Views as `Views`,
o.Clicks as Clicks,
COALESCE(s.Views, 0) as DayViews,
COALESCE(s.Clicks, 0) as DayClicks
FROM objectTable o
LEFT JOIN statsTable s
ON o.ID = s.oID
WHERE o.userID = 1
AND DATEDIFF(CURDATE(), s.Date) < 1
LIMIT 1
은 어떻게 statsTable가 일치하는 행을 포함하지 않는 경우에도 결과 행을 얻을 수있는 쿼리를 변경해야합니까?
쿼리에서 오류가 발생하지 않습니다. objectTable에 데이터가 있는지 확실히 알고 있으므로 빈 결과를 반환하지 않으려합니다.
이미 왼쪽 가입을 사용하고 있습니다. 그것은 ans입니다. 내가 이미 말한대로 상태가 –
이 아닌지 확인하십시오. 예 : 왼쪽 가입 작업 ** ** statsTable에 가입 할 데이터가있는 경우. 그러나 데이터가 없어도 결과를 원합니다. 'Where' 대신 무엇을 사용해야합니까? – DosMike1