GeT
Новичок
LIMIT при запросах с JOIN'ами
Есть вот такой запрос:
[SQL]
SELECT t1.id, t1.title, t2.param_id, t1.price, t2.value
FROM cat_items t1
LEFT JOIN item_properties t2 ON t2.item_id=t1.id
LEFT JOIN properties t3 ON t3.id=t2.param_id WHERE t1.catid=10 ORDER BY t1.pos,t3.pos
[/SQL]
Он для каждой строки из таблицы cat_items находит все соответсвующие строки из таблицы item_properties, таким образом, запрос чаще всего вернет больше строк, чем количество строк в таблице cat_items.
Нужно реализовать постраничный вывод, я пытаюсь это сделать с помощью LIMIT'а типа
[SQL]
SELECT t1.id, t1.title, t2.param_id, t1.price, t2.value
FROM cat_items t1
LEFT JOIN item_properties t2 ON t2.item_id=t1.id
LEFT JOIN properties t3 ON t3.id=t2.param_id WHERE t1.catid=10 ORDER BY t1.pos,t3.pos
LIMIT $start,$offset
[/SQL]
Разумеется, ничего дельного данная конструкция не выведет (т.к. кол-во возвращаемых строк чаще всего больше кол-ва "нужных" строк)
Как бы организовать нормальный постраничный вывод?
Есть вот такой запрос:
[SQL]
SELECT t1.id, t1.title, t2.param_id, t1.price, t2.value
FROM cat_items t1
LEFT JOIN item_properties t2 ON t2.item_id=t1.id
LEFT JOIN properties t3 ON t3.id=t2.param_id WHERE t1.catid=10 ORDER BY t1.pos,t3.pos
[/SQL]
Он для каждой строки из таблицы cat_items находит все соответсвующие строки из таблицы item_properties, таким образом, запрос чаще всего вернет больше строк, чем количество строк в таблице cat_items.
Нужно реализовать постраничный вывод, я пытаюсь это сделать с помощью LIMIT'а типа
[SQL]
SELECT t1.id, t1.title, t2.param_id, t1.price, t2.value
FROM cat_items t1
LEFT JOIN item_properties t2 ON t2.item_id=t1.id
LEFT JOIN properties t3 ON t3.id=t2.param_id WHERE t1.catid=10 ORDER BY t1.pos,t3.pos
LIMIT $start,$offset
[/SQL]
Разумеется, ничего дельного данная конструкция не выведет (т.к. кол-во возвращаемых строк чаще всего больше кол-ва "нужных" строк)
Как бы организовать нормальный постраничный вывод?