Задавайте вопросы, мы ответим
Вы не зашли.
Ребята, есть такая ситуация...
из БД была выборка с разбивкой по 10 объектов на страницу (условно: LIMITом по 10 записей)
возникла необходимость к каждой записи добавить N-ое кол-во параметров из другой таблицы (LEFT JOINом присоединяется еще одна таблица)
Структурно (условно) примерно так:
было
запись 1
запись 2
запись 3
и т.д.
стало
запись 1 парам 1
запись 1 парам 2
запись 2 парам 1
запись 3 парам 1
запись 3 парам 2
запись 3 парам 3
и т.д.
но мне по прежнему надо выводить каждую запись отдельно как объект (т.е. на экран по 10 объектов выводятся с дополнительными параметрами). Я теперь не могу LIMITом кроить суммарный запрос по 10, т.к. строк в результате получается неизвестное за ранее мне число
в голове два пути решения
1. сделать запрос как и был сначала без параметров с LIMIT по 10, а потом по каждой записи отдельный запрос чтобы подтянуть нужные параметры (думаю это нерационально)
2. сделать первый запрос в виде какой то виртуальной таблицы применив к ней LIMIT, а потом к виртуальной таблице LEFT JOINом присоединить нужную таблицу с параметрами
(с виртуальными не работал - если так рациональнее то подскажите что именно нужно использовать)
вопрос в том: как правильно сделать ???
спасибо всем за ранее...
Отредактированно lexmor (20.01.2010 09:11:02)
Неактивен
Проще всего через подзапрос, наверное:
SELECT …
FROM (SELECT … FROM table1 LIMIT 10) t1
JOIN table2 t2 ON …
Неактивен
Спасибо, реализовал - получилось....
Неактивен