Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: выборка за раз данных с разных запросов
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
переделываю фильтр на сайте
и очень хотелось бы ускорить обработку, нынче имеем много разных параметров, и для каждого параметра делаем отдельный запрос для получения списка в select [длина, ширина, ... и что-то еще].
вопрос: а можно как-то объединить запрос для получения всего за раз?
а в результате получить:
[длина]=>1
[длина]=>2
[длина]=>3
[высота]=>1
[высота]=>3
[высота]=>5
[ширина]=>3
[ширина]=>10
Vladimir Kheifets
Отправлено: 31 Июля, 2018 - 16:34:11
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017 Откуда: Германия, Бавария
Помог: 37 раз(а)
DlTA пишет:
переделываю фильтр на сайте
и очень хотелось бы ускорить обработку, нынче имеем много разных параметров, и для каждого параметра делаем отдельный запрос для получения списка в select [длина, ширина, ... и что-то еще].
вопрос: а можно как-то объединить запрос для получения всего за раз?
а в результате получить:
[длина]=>1
[длина]=>2
[длина]=>3
[высота]=>1
[высота]=>3
[высота]=>5
[ширина]=>3
[ширина]=>10
Добрый день!
Если я Вас правильно понял и у Вас устроено так:
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
выборка у меня не с одной таблицы, их там с 10-ток
от товара, идет выборка по наличию, а там идет выборка по таблице по размеру, высоте, ...
Vladimir Kheifets
Отправлено: 01 Августа, 2018 - 07:33:35
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017 Откуда: Германия, Бавария
Помог: 37 раз(а)
DlTA пишет:
выборка у меня не с одной таблицы, их там с 10-ток
от товара, идет выборка по наличию, а там идет выборка по таблице по размеру, высоте, ...
Добрый день!
Если таблиц несколько, то можно писать название таблицы и название поля, например, SELECT table1.length, table2.height, table2.width... и испльзовать в запросах JOIN
Посмотрите, пример запроса из четырёх таблиц здесь http://forum.php.su/topic.php?fo...92123#1532692123
К сожалению, для более детального ответа не достаточно информации.
Удачи!
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
JOIN у меня есть, я же говорю что в запросе выбираются до 10 таблиц
Vladimir Kheifets
Отправлено: 01 Августа, 2018 - 15:38:33
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017 Откуда: Германия, Бавария
Помог: 37 раз(а)
DlTA пишет:
JOIN у меня есть, я же говорю что в запросе выбираются до 10 таблиц
а в начале Вы написали:
Цитата:
для каждого параметра делаем отдельный запрос....
.............
вопрос: а можно как-то объединить запрос для получения всего за раз?
Простите, не могли бы Вы показать хотябы один Ваш запрос с JOINT, который выбирает из 10 таблиц один параметр и могли бы написать что-то про эти таблицы.
DlTA
Отправлено: 01 Августа, 2018 - 21:44:35
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
и это у меня выгрузка списка id товаров, проверяется привязка к разделу, подразделу, и ... много чего еще (Добавление)
для примера, попробовал объединить 2 таблицы
и это у меня выгрузка списка id товаров, проверяется привязка к разделу, подразделу, и ... много чего еще (Добавление)
для примера, попробовал объединить 2 таблицы
Добрый день!
Если это работает, то правильно, но Вам "хотелось бы ускорить обработку".
Не уверен в том, что в Вашем случае это решение оптимальное.
Ваш запрос с UNION создаёт временную таблицу и на больших базах данных может работать медленнее, чем альтернативные решения, например, с JOINT, если это возможно.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.