Как отфильтровать результаты запроса MySQL Я создаю приложение чата. Мне нужен последний результат сообщения, основанный на входе пользователя. - PullRequest
0 голосов
/ 01 февраля 2019

Мне нужно войти в систему пользователя все последние сообщения, если он / она отправил или получил на любое из них

SELECT chat.id, chat.sender_id,chat.receiver_id,us.user_nicename as    sender_name, u.user_nicename as reciver_name,(SELECT v.message FROM wp_vendor_customer_chat as v where v.id=MAX(chat.id)) as message,chat.sent_date 

FROM wp_vendor_customer_chat as chat 
left join wp_users us on chat.sender_id = us.id 
left join wp_users u on chat.receiver_id = u.id 
WHERE receiver_id=1 OR sender_id=1 
GROUP BY chat.sender_id, chat.receiver_id

['sqlquery']https://hagglerplanet.jkssoftsolutions.com/wp-content/uploads/2019/02/Untitled.png

1 Ответ

0 голосов
/ 09 февраля 2019

Я нашел решение моей проблемы.

 SELECT wp_vendor_customer_chat.*,us.user_nicename as sender_name, u.user_nicename as reciver_name FROM wp_vendor_customer_chat
left join wp_users us on wp_vendor_customer_chat.sender_id = us.id
left join wp_users u on wp_vendor_customer_chat.receiver_id = u.id
WHERE wp_vendor_customer_chat.id IN (
    SELECT MAX(id) AS last_msg_id 
    FROM wp_vendor_customer_chat WHERE `receiver_id` = ".$vendor_id." OR `sender_id` = ".$vendor_id." 
    GROUP BY IF(`sender_id` =".$vendor_id.", `receiver_id`, `sender_id`)
)

Я опубликовал решение, потому что если кто-то столкнулся с той же проблемой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...