powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Уместно ли использование UNION?
12 сообщений из 12, страница 1 из 1
Уместно ли использование UNION?
    #38974517
Sergenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
1) Есть числовой массив, в котором значения это id - разделов.

2) Нужно вывести в поток, данные из разделов и связанных с ними других таблиц.
В цикле (через foreach) перебираю массив, и делаю запросы к базе.

Фигня в том, что id в массиве лежат в разном порядке, а мне нужно чтобы работал order by.

3) Нашел пока одно решение, но оно какое-то наверное не очень...
Вообщем, при переборе, формирую на php подзапросы и объединяю их через union. order by работает.
Но, что не нравится. Если вывести, весь код, такая портянка получается (в каждом подзапросе еще разные inner join - ы, условия).

4) В мануале указывается, что объединить можно два и более. Но в моем случае, это может быть 100, 200 подзапросов.
Дичь какая-то...

Пожалуйста, посоветуйте что лучше в моем случае?
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974556
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeniusДичь какая-то...действительно дичь
вы бы хоть структуру обрисовали, к которой запросы делаете
ну и что хотите получить, тоже не мешало бы объяснить понятным языком, лучше всего на примере входных и выходных данных
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974576
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergeniusпосоветуйте что лучше в моем случае?
Забыть свою процедурно-ориентированную хрень и сделать как положено. Загрузить весь массив во временную таблицу на сервер и одним запросом получить нужные данные в нужной сортировке.
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974606
Sergenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,
чтобы лучше понять, попробую упростить донельзя.

$arr = array(256, 34, 86, 5, 347);

foreach ($arr as $id)
{
("select `price`, `name` from table `tab_unit` where `id` = `".$id."`");
}

Вопрос, каким образом здесь можно перебрать чтобы order by `name` ?
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974609
Sergenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
не совсем понял вас. Результаты перебора массива записать в отдельную таблицу?
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974614
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeniusВопрос, каким образом здесь можно перебрать чтобы order by `name` ?
AkinaЗагрузить весь массив во временную таблицу на сервер и одним запросом получить нужные данные в нужной сортировке.
SergeniusРезультаты перебора массива записать в отдельную таблицу?нет, сам массив загнать в таблицу (временную) и потом выбрать всё одним запросом
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974619
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergeniusне совсем понял вас
Создаёте временную таблицу.
Заносите туда все свои элементы массива.
Запросом получаете сразу все данные в нужном виде.
Удаляете временную таблицу.
Всё.
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974636
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergeniustanglir,
чтобы лучше понять, попробую упростить донельзя.

$arr = array(256, 34, 86, 5, 347);

foreach ($arr as $id)
{
("select `price`, `name` from table `tab_unit` where `id` = `".$id."`");
}

Вопрос, каким образом здесь можно перебрать чтобы order by `name` ?
Код: sql
1.
2.
3.
4.
SELECT `price`, `name` 
FROM mytable `tab_unit`
WHERE `id` IN (256, 34, 86, 5, 347)
ORDER BY `name`
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974660
Sergenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft, вы заставили меня ощутить ослом))))
Спасибо большое за подсказку. Оказывается так все просто.
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974662
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergeniusmiksoft, вы заставили меня ощутить ослом))))Извините, не имел такой цели :)

Кстати, подозреваю, что список этих id происходит из каких-то других SQL-запросов. Тогда можно было бы их объединить в один.
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974680
Sergenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,
я правда до сих пор, под впечатлением. Вчера весь вечер убил, голову сломал, монтируя монстра с union. А тут увидел Ваш пост...и е-мое...Так просто??????

Вы действительно правы, id приходят из других sql - запросов. Объединить наверное не получится, эти id (строка из базы) я преобразую в массив, потом сливаю с другим массивом полученным из файла, ну а потом уже...дальше Вы уже видели.

Еще раз, снимаю шляпу.
...
Рейтинг: 0 / 0
Уместно ли использование UNION?
    #38974829
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergeniusid приходят из других sql - запросов. Объединить наверное не получится, эти id (строка из базы) я преобразую в массив, потом сливаю с другим массивом полученным из файла
Вот ведь дурь-то - волочь все данные на клиента, чтобы потом опять втюхать их SQL-серверу...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Уместно ли использование UNION?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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