나는이 같은 쿼리가 :조건문
SELECT c.review, u.username, c.date, c.good, c.rate_id, r.rating
FROM comments AS c
LEFT JOIN users AS u
ON c.user_id = u.user_id
LEFT JOIN items as i
ON i.items_id = c.item_id
LEFT JOIN master_cat AS m
ON m.cat_id = i.cat_id
LEFT JOIN ratings as r
ON r.item_id = c.item_id
WHERE i.item = '{$item}' AND c.user_id = r.user_id
ORDER by {$sort};
을하지만이 제한됩니다. WHERE 문 (c.user_id = r.user_id
)이 일치하면 I JSON은 c.rating
을 출력합니다. 그렇지 않은 경우 응용 프로그램에서 인쇄하고 필요한 데이터를 건너 뜁니다.
예를 들어 동일한 사용자의 평가와 의견이 일치하면 데이터가 쌍을 이룹니다. 그러나 일부 의견 에는 아직 그들과 관련된 등급 (1에서 5까지 평가할 수 있음)이 없습니다. 따라서 대신 WHERE 절이있는 데이터를 건너 뛰고, 조건부로 만들고 0을 인쇄하고 나중에 IF 0, print out "not rated"
을 말할 수 있습니다. (이것은 SQL에서 수행되지 않지만 자바는. SQL에서, 난 그냥 MySQL
DB에 0을 저장해야합니다.)
WHERE
을 삭제하고
SELECT
의 일부를 확인해야합니다 가정입니다
?
left join
로 변환한다. – RedFilter