У меня есть две таблицы SQL:Выберите строки из таблицы соответствия других записей таблицы
элементы таблицы
item_id name timestamp
--------------------------------------------
a apple 2014-01-01
b banana 2014-01-06
c tomato 2013-12-25
d chicken 2014-01-23
e cheese 2014-01-02
f carrot 2014-01-16
items_to_categories стол
cat_id item_id
--------------------------------------------
1 a
5 c
2 e
3 a
4 f
5 d
5 b
5 a
Знающие cat_id
(, например, 5), мне нужно получить 2 lates т (на основе timestamp
), принадлежащих этому cat_id
.
Если бы я сначала получить 2 строки из items_to_categories таблицы:
SELECT item_id FROM items_to_categories WHERE cat_id = 5 LIMIT 2;
>> returns 'c' and 'd'
И затем использовать возвращенные детали идентификаторы для запроса элементы таблицы, я не убедившись возвращенные детали будут самые последние из них (порядка по timestamp
).
Идеальный результат, что мне нужно, чтобы выбрать 2 последние детали cat_id
(например 5) будет:
d chicken 2014-01-23
b banana 2014-01-06
Я бы присоединился к элементам items_to_categories, а не к тому, как это у вас есть, потому что это условие относится к items_to_categories, но +1 (несмотря на ненужный отступ) – Bohemian