अंतिम ईमेल प्राप्त हुआ और अपठित (प्राप्त) की संख्या।
SELECT e.MAIL_NO, e.BIZ_ID, e.FROM_ADD, e.TO_ADD, e.EMAIL_SUBJECT,
DATE_FORMAT(e.UPDATED_DATE,'%d %b %y, %I:%i %p') AS DATE, e.MAIL_STATUS,
CONCAT(ufrom.USER_FIRST_NAME,' ',ufrom.USER_LAST_NAME) AS U_NAME,if(UNREAD_MESSAGE_COUNT is null,0,UNREAD_MESSAGE_COUNT) FROM EMAIL e
LEFT JOIN USER_CONFIG ufrom
ON ufrom.USER_ID = e.TO_ADD
left join (SELECT COUNT(*) AS UNREAD_MESSAGE_COUNT,TO_ADD FROM EMAIL_MESSAGE inner join EMAIL using (BIZ_ID)
WHERE MESSAGE_STATUS = 'U' group by TO_ADD) t on t.TO_ADD= e.TO_ADD
WHERE
e.TO_ADD=:TO_ADD
ORDER BY MAX(e.UPDATED_DATE) DESC, ufrom.USER_FIRST_NAME DESC
LIMIT 0, 10
भेजे गए ईमेल और अपठित भेजे गए संदेशों की संख्या:
SELECT e.MAIL_NO, e.BIZ_ID, e.FROM_ADD, e.TO_ADD, e.EMAIL_SUBJECT,
DATE_FORMAT(e.UPDATED_DATE,'%d %b %y, %I:%i %p') AS DATE, e.MAIL_STATUS,
CONCAT(ufrom.USER_FIRST_NAME,' ',ufrom.USER_LAST_NAME) AS U_NAME,if(UNREAD_MESSAGE_COUNT is null,0,UNREAD_MESSAGE_COUNT) FROM EMAIL e
LEFT JOIN USER_CONFIG ufrom
ON ufrom.USER_ID = e.FROM_ADD
left join (SELECT COUNT(*) AS UNREAD_MESSAGE_COUNT,FROM_ADD FROM EMAIL_MESSAGE inner join EMAIL using (BIZ_ID)
WHERE MESSAGE_STATUS = 'U' group by FROM_ADD) t on t.FROM_ADD= e.FROM_ADD
WHERE
e.FROM_ADD=:FROM_ADD
ORDER BY MAX(e.UPDATED_DATE) DESC, ufrom.USER_FIRST_NAME DESC
LIMIT 0, 10
संपादित:- जोड़ा गया अगर गिनती =शून्य 0 होना चाहिए, और परिणाम दिखाना सुनिश्चित करने के लिए बाएं शामिल हों।
2 संपादित करें:सबक्वेरी को केवल इस उपयोगकर्ता को भेजे गए अपठित गिनने के लिए बदल दिया।
संपादित करें 3:आवश्यक परिणामों के आधार पर पहली क्वेरी को अपडेट किया गया और दूसरी क्वेरी को जोड़ा गया। यह काम कर जाना चाहिए। आप शायद पहले वाला चाहते हैं।