خرید بک لینک

Vote count: 0

I need a sql that uses self join on max id from first table. Please look at the following image of table. I am grouping the table by service_id but I need the last message of each group. So For service group 5 message count should be 3 and last_message should be thirdMsg5. I wrote a sql below everything else is fine but it is throwing an error in the case of self join. It can't recognize msgTbl1.last_message_id. I think I am calling it before preparing it. I need help to solve this problem what would be the best sql to solve this in one query? And if possible please provide me this query in laravel query builder format.

SELECT count(msgTbl1.id) as message_count, max(msgTbl1.id) as last_message_id, msgTbl1.body, msgTbl2.body as last_message, services.name as service_name
                FROM messages msgTbl1
                LEFT JOIN (SELECT id, body FROM messages) AS msgTbl2 ON msgTbl2.id = msgTbl1.last_message_id
                LEFT JOIN services on services.id = msgTbl1.service_id 
                WHERE receiver_id = 4 AND read_user = 'no'
                GROUP BY msgTbl1.service_id

enter image description here

asked 26 secs ago

برچسب: نویسنده: استخدام کار تاريخ: سه شنبه 24 فروردين 1395 ساعت: 13:08

صفحه بندی