Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Получение корректного количества строк выборки при left join 1-to-many
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста с такой выборкой. Связываю таблицу А (список товаров) отношением 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. Нужно-ли в условии WHERE таблицы tb дублировать условия полей таблицы zz (думаю что нет) Вложенные запросы и выполнятся же будут дольше. В какой select вставлять SQL_CALC_FOUND_ROWS чтобы получить значения только родительской табл ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 20:12 |
|
||
|
Получение корректного количества строк выборки при left join 1-to-many
|
|||
|---|---|---|---|
|
#18+
SergTN, Хотя на самом деле, попробовал - не подходит этот вариант, не верно подсчитывается общее количество без учета LIMIT ( т.к. SQL_CALC_FOUND_ROWS нельзя расположить во внутреннем select) вообщем засада... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2017, 22:00 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=67&tid=1830412]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
23ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 20ms |
| total: | 119ms |

| 0 / 0 |
