Я занимаюсь разработкой социальных website.I есть опция под названием alerts
который показывает ожидающие запросы друзей и непрочитанные запрос messages.My следующий:Проблема в MySQL запрос Регистрация
SELECT
sk_friends.frndship_from_user_id,
sk_messages.msg_from_user_id,
sk_messages.msg_text,
sk_messages.msg_date
FROM
sk_friends INNER JOIN sk_messages
WHERE
sk_messages.msg_to_user_id = '$user_id'
AND sk_friends.frndship_to_user_id ='$user_id'
AND sk_friends.frndship_status = 'pending'
AND sk_messages.msg_status='unread'
ORDER BY
sk_friends.fndship_date ASC,
sk_messages.msg_date ASC;
- sk_friends и ak_messages столы.
- msg_from_user_id является идентификатор отправителя
- frndship_from_user_id является идентификатор пользователя, который отправляет запрос
- $ user_id является идентификатор пользователя для входа
Каждая строка данных в два раза появляются. Я не знаю, почему это происходит.
Можете ли вы сделать небольшой [скрипку] (http://sqlfiddle.com) и объяснить? –
вы пропустили инструкцию ON в запросе соединения. проверьте http://dev.mysql.com/doc/refman/5.0/en/join.html, чтобы применить внутреннее соединение. – ripa
Используйте «ON» вместо «WHERE» в сегменте JOIN вашего запроса. – illuzive