레코드를 선택하고 싶지만 (사용자의 테이블에 더 이상 존재하지 않는 삭제 된 계정의 ID를 보낸 사람 제외) (삭제됨) 이것은 "새 메시지"알림tableA.user_id가 user.id에없는 tableA에 대한 select 쿼리에서 레코드를 제외하는 방법
$sql = "SELECT COUNT(pm.id) c
FROM `private_messages` pm
LEFT JOIN `users` u ON u.`id` = pm.`sender_id`
WHERE pm.`recipient_id` = '".$user_id."'
AND (SELECT COUNT(id) FROM `pm_views` WHERE `user_id` = '".$user_id."' AND `message_id` = pm.id) = 0
";
테이블입니다
:
private_messages = id, recipient_id, sender_id, date_sent.
pm_views = id, message_id, view_date, user_id
위의 SQL은 "읽지 않음"메시지의 수를 반환합니다.
사용자 테이블에서 존재하지 않는 ID의 메시지를 제외하고 싶습니다. 사용자 private_messages 및 pm_views이 추가
이이 –