powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Получение корректного количества строк выборки при left join 1-to-many
2 сообщений из 2, страница 1 из 1
Получение корректного количества строк выборки при left join 1-to-many
    #39523477
SergTN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста с такой выборкой.
Связываю таблицу А (список товаров) отношением 1-ко-многим к дочерней таблице Б (параметры товаров) через LEFT JOIN и естественно получаю в итоговой выборке все записи связанные с таблицей А. Ограничение LIMIT M, N применяется к итоговой выборке с учетом таблицы Б и общее количество найденных строк тоже с учетом таблице В. В итоге плывет постраничный вывод и некорректное количество найденных строк. Как сделать чтобы ограничение LIMIT M, N применялось бы только к родительской таблице А и запрос на общее число найденных строк SELECT FOUND_ROWS() учитывал бы только исходную таблицу А. В условиях выборки в WHERE содержатся столбцы как родительской таблицы так и дочерней таблицы В.
Видел аналогичный вопрос http://www.sql.ru/forum/606005/one-to-many-kak-vybrat-n-one-i-svyazannye-s-nimi-many?hl=limit ????????? ?????? с единственный ответ - т.е получается что других вариантов действительно нет?:
Код: plsql
1.
2.
3.
4.
5.
6.
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 чтобы получить значения только родительской табл ?
...
Рейтинг: 0 / 0
Получение корректного количества строк выборки при left join 1-to-many
    #39523507
SergTN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergTN,
Хотя на самом деле, попробовал - не подходит этот вариант, не верно подсчитывается общее количество без учета LIMIT ( т.к. SQL_CALC_FOUND_ROWS нельзя расположить во внутреннем select)
вообщем засада...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Получение корректного количества строк выборки при left join 1-to-many
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]