Просмотр темы
Как объединить три запроса в один
|
|
lucky |
Опубликовано 10.06.2014 16:33
|
Опытный пользователь Сообщений: 381 Зарегистрирован: 05.09.2012 10:20 |
Доброго времени суток. Строю карту сайта, собираю ссылки из категорий, статей, страниц. Соответственно данные хранятся в трёх таблицах. Получается как бы три запроса :
Хоть и рабочий код, знаю что так не должно быть. ) А как объединить правильно? |
|
|
Polarfox |
Опубликовано 10.06.2014 17:32
|
Администратор Разработчики Группа поддержки Сообщений: 3384 Зарегистрирован: 20.08.2010 14:03 |
3 таблицы 3 запроса, а что такого? Ну или смотри UNION, если объединить сможешь но это тебе жись усложнит, может сильно а может и нет, но толку особо не даст. Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
lucky |
Опубликовано 10.06.2014 19:28
|
Опытный пользователь Сообщений: 381 Зарегистрирован: 05.09.2012 10:20 |
я планирую так: при добавление статьи, категории или страницы обновлять карту сайта (карта для поисковиков), получается четыре запроса к базе в один клик, вот и задумался - не много ли это Изменил(а) lucky, 10.06.2014 19:39 |
|
|
Rush |
Опубликовано 10.06.2014 20:23
|
Администратор Разработчики Группа поддержки Сообщений: 1418 Зарегистрирован: 31.08.2010 14:41 |
о боже) во-первых их объединить не получится, во-вторых, особо незачем |
|
|
Pisatel |
Опубликовано 11.06.2014 04:45
|
Ветеран Сообщений: 678 Зарегистрирован: 08.02.2013 05:51 |
Объединить можно бы было, если бы у них было что-то общее, например- ид, тогда бы можно было использовать inner/left/right join, я так понимаю |
|
|
FILON |
Опубликовано 11.06.2014 08:54
|
Администратор Разработчики Группа поддержки Сообщений: 188 Зарегистрирован: 05.09.2012 12:13 |
lucky, объединить три запроса не получится, но можно однотипные циклы объединить в один. Для этого потребуется создать временную таблицу, записать в неё данные с трех запросов (можно с помощью конструкции INSERT INTO ... SELECT) и далее уже выводить данные из временной таблицы одним циклом. Pisatel, операции с JOIN больше используются для каскадной выборки. В зависимости от ситуации для объединения удобнее использовать конструкцию SELECT ... FROM t1, t2 или оператор UNION. What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
|
|
|
lucky |
Опубликовано 11.06.2014 13:46
|
Опытный пользователь Сообщений: 381 Зарегистрирован: 05.09.2012 10:20 |
FILON, пример бы посмотреть как это выглядит, если я правильно понял, после трёх запросов на выборку данных из таблиц делаем запрос на создание временной таблице а потом ещё один запрос на извлечение данных из временной таблице ? ещё дополнительные запросы появляются, или так лучше, когда меньше циклов чем запросов? |
|
Поделиться этой темой | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |