Вот ситуация:
В моей базе данных у меня есть таблица с потоками и таблица с ответами. Оба имеют поле Timestamp.
Сейчас я разрабатываю форум и хочу упорядочить темы следующим образом:
- Если в теме есть ответы, то: ORDER BY tblReply.Timestamp DESC
- В противном случае у потока нет ответов: ORDER BY tblThread.Timestamp DESC
Я не знаю, как совместить эти 2 в одном заявлении.
Мой запрос в том виде, в каком он есть сейчас:
SELECT `PK_ThreadID`, `Title`, `tblUsers`.`Username`, `tblThread`.`Date`, count(tblReply.FK_ThreadID) AS number_replies FROM (`tblThread`)
JOIN `tblUsers` ON `tblUsers`.`PK_UserID` = `tblThread`.`FK_UserID`
LEFT JOIN `tblReply` ON `tblReply`.`FK_ThreadID` = `tblThread`.`PK_ThreadID`
WHERE `isExpertQuestion` = 0 AND `isPublic` = 1
GROUP BY `PK_ThreadID`
ORDER BY max(tblReply.Date)` desc
//Here it only orders by reply date, so threads with no replies appear at the bottom
Как мне добиться желаемого порядка в этом запросе?