Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Получение корректного количества строк выборки при left join 1-to-many  [new]
SergTN
Member

Откуда:
Сообщений: 2
Помогите пожалуйста с такой выборкой.
Связываю таблицу А (список товаров) отношением 1-ко-многим к дочерней таблице Б (параметры товаров) через LEFT JOIN и естественно получаю в итоговой выборке все записи связанные с таблицей А. Ограничение LIMIT M, N применяется к итоговой выборке с учетом таблицы Б и общее количество найденных строк тоже с учетом таблице В. В итоге плывет постраничный вывод и некорректное количество найденных строк. Как сделать чтобы ограничение LIMIT M, N применялось бы только к родительской таблице А и запрос на общее число найденных строк SELECT FOUND_ROWS() учитывал бы только исходную таблицу А. В условиях выборки в WHERE содержатся столбцы как родительской таблицы так и дочерней таблицы В.
Видел аналогичный вопрос [url=]http://www.sql.ru/forum/606005/one-to-many-kak-vybrat-n-one-i-svyazannye-s-nimi-many?hl=limit ????????? ??????[/url] с единственный ответ - т.е получается что других вариантов действительно нет?:
select ...............
from
(select * from table A as ta where ...... LIMIT 5) as zz
left join
table B as tb
on tb.id = zz.parent_id 



Нужно-ли в условии WHERE таблицы tb дублировать условия полей таблицы zz (думаю что нет)
Вложенные запросы и выполнятся же будут дольше.
В какой select вставлять SQL_CALC_FOUND_ROWS чтобы получить значения только родительской табл ?
19 сен 17, 20:12    [20807223]     Ответить | Цитировать Сообщить модератору
 Re: Получение корректного количества строк выборки при left join 1-to-many  [new]
SergTN
Member

Откуда:
Сообщений: 2
SergTN,
Хотя на самом деле, попробовал - не подходит этот вариант, не верно подсчитывается общее количество без учета LIMIT ( т.к. SQL_CALC_FOUND_ROWS нельзя расположить во внутреннем select)
вообщем засада...
19 сен 17, 22:00    [20807436]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить