Скажем, у меня есть две таблицы, к которой я хочу присоединиться. Категории:Присоединиться к лимиту по правой таблице
id name
----------
1 Cars
2 Games
3 Pencils
4 Books
И детали:
id categoryid itemname
---------------------------
1 1 Ford
2 1 BMW
3 1 VW
4 2 Tetris
5 2 Pong
6 3 Foobar Pencil Factory
Я хочу, чтобы запрос, который возвращает категорию и последний максимум N (например: 2) ItemName:
category.id category.name item.id item.itemname
-------------------------------------------------
1 Cars 2 BMW
1 Cars 3 VW
2 Games 4 Tetris
2 Games 5 Pong
3 Pencils 6 Foobar Pencil Factory
4 Books NULL NULL
Я хочу напишите запрос, как показано ниже:
Select * From categories c
Left Join (select * from items order by id desc) i
On c.id=i=categoryid
AND LIMIT 2 #comment: N=2 this line not supported
Where i.categoryid = c.id
Group By c.id
Спасибо!
: Я думаю, что ваш ответ правильный, но некоторые имена полей неверны. например: i ON c.categoryid должно быть c.id и нужно добавить i.categoryid здесь LEFT JOIN (SELECT i.id, i.itemname.Kindly verify – zamil
@zamil Вы совершенно правы, спасибо. Редактировано – Dukeling
спасибо, +1, потому что ваш ответ работает, но я проверяю эффективность этого решения. Если это наиболее эффективное решение, я согласен с этим. Я также жду другого предложения. – ahoo