|
|
|
| помогите с запросом, есть три таблицы,
первая "info" с полями : id_ulica, id_country, name_peaple, surname_people
вторая "ulica" с поями : id_ulica, name_ulica
третья "country" с полями : id_country, name_country
где: info.id_ulica = ulica.id_ulica содержит номер улицы, а в поле ullica.name_ulica в текстовом виде название улицы например "космонавтов", с таблицей country все тоже самое,
как сделать одну таблицу с трех, где будут поля ulica, country, name, people, будут сравниваться их номера и заменять на текст. | |
|
|
|
|
|
|
|
для: школьник
(07.03.2006 в 18:21)
| |
insert into badtable
(ulica,country,name,people) select
name_ulica as ulica,
name_country as country,
name_peaple as name,
surname_people as people
from info, ulica, country
where info.id_ulica = ulica.id_ulica
and info.id_country = country.id_country
|
| |
|
|
|
|
|
|
|
для: Trianon
(07.03.2006 в 18:36)
| | Если ничего не путаю, что вложенные запросы возможны только >4 версии... | |
|
|
|
|
|
|
|
для: Loki
(07.03.2006 в 20:54)
| | Это не вложенный запрос. Это форма INSERT ... SELECT. Во всяком случае в мануале об версионных ограничениях на эту форму ничего не сказано. В отличие, например, от форм INSERT DELAYED, INSERT... VALUES (),(),()...., INSERT ... SET colname=value....
С другой стороны, до 4-й версии не проапгрейдил MYSQL только совсем уж ленивый.
А с третьей, не пойдет этот запрос, туда ему и дорога. Неправильно это - таблицы денормализовывать. | |
|
|
|
|
|
|
|
для: Trianon
(07.03.2006 в 21:10)
| | Вообще говоря INSERT ... SELECT тоже наверное подподает под категорию вложенных запросов, но появился он задолго до полноценных вложенных запросов, ещё до версии 4.0. Дело в том, что MySQL AB очень часто разрабатывает функционал за деньги. Т.е. если какому-то из лицензионных заказчиков, что-то нужно и он оплачивает работы - они реализуют функцию в не очереди. Так кстати, репликации появились вперёд всех хранимых процедур, триггеров, курсоров... Кто-то денег за это забашлял. И тут наверное также было... | |
|
|
|
|
|
|
|
для: cheops
(08.03.2006 в 12:49)
| | Кстати, о репликации - давно хочу спросить:
В мануале описан порядок работы с последовательным подключением серверов по цепочке. А можно ли делать репликацию используя промежуточное хранение данных (в файле)?
Просто хостеры удаленное подключение к базе все равно не позволяют, а такой вариант позволил бы держать в локале актуальную версию базы. Да и вопрос с дампом решался бы просто. | |
|
|
|
|
|
|
|
для: Loki
(09.03.2006 в 10:18)
| | Если честно затрудняюсь ответить... Триггерами можно сбрасывать дамп на локальную машину, если, конечно MySQL > 5.0. | |
|
|
|
|
|
|
|
для: cheops
(09.03.2006 в 12:54)
| | Не. В мануале описан бинарный лог, на основании которого производятся репликация. Причем, для запуска этого лога необходим перезапуск сервера. Ну и собственно любопытно: включена ли эта опция по умолчанию. Если нет, то эту штуку можно отложить до появления собственного сервера:) | |
|
|
|