Sqlite порядок по дате в массиве - PullRequest
2 голосов
/ 25 апреля 2019

У меня есть таблица, содержащая записи, и другая таблица, содержащая идентификаторы сохраненных / избранных этих записей.

Я хочу получить записи, чьи идентификаторы перечислены в избранном, и упорядочить их по добавленной дате в таблице избранных.

SELECT * FROM entries WHERE id IN (SELECT favorite_id FROM favorites ORDER BY date_added)

Этот запрос получает правильные записи, но не упорядочивает их правильно.

Как я могу заказать entries по столбцу favorites.added_date?

Ответы [ 2 ]

2 голосов
/ 25 апреля 2019

В вашем случае вы можете использовать JOIN также с ORDER BY.

SELECT E.* 
FROM entries E
JOIN favorites F ON F.favorite_id = E.id
ORDER BY F.date_added ASC
1 голос
/ 25 апреля 2019

A Предложение In для подзапроса равно внутреннему соединению ... но (обычно) быстрее и если порядок в подзапросе в предложении IN не имеет смысла, то внутреннее объединение позволяет упорядочить результат

SELECT * 
FROM entries e
INNER JOIN favorites f  ON e.id = f.favorite_id 
order by f.date_added
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...