Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2014, 12:34   #1
Staspost
Новичок
Джуниор
 
Регистрация: 27.02.2014
Сообщений: 2
Радость Как сделать запрос на перенос данных между таблицами

Добрый день!
Коллеги, я к базам данных отношения имею мало, поэтому прошу помощи)) Есть две таблицы (test и test1) в одной БД MySQL, в каждой есть колонка "url". В таблице test добавляю колонку "Osnova", в которую нужно перенести данные из такой же колонки таблицы test1 при условии, что содержимое ячеек "url" данной строки одинаково и в первой и во второй таблицах.
То есть, нужно для содержимого ячейки "url" первой (и последующих) строки таблицы test найти идентичное содержимое в одной из ячеек колонки "url" таблицы test1, после чего перенести содержимое ячейки "Osnova" той же строки таблицы test1, в которой нашелся совпадающий "url" в ячейку "Osnova" таблицы test той же строки, из которой был взят для сравнения "url". Затем искать "url" из строки 2 таблицы test и так далее до конца таблицы. Отсутствие соответствий пропускать.

Помогите, пожалуйста, запрос составить. Заранее спасибо).
Staspost вне форума Ответить с цитированием
Старый 27.02.2014, 12:47   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
update test set osnova =( select osnova from test1 --перенести содержимое ячейки "Osnova" той же строки таблицы test1, в которой нашелся совпадающий "url" в ячейку "Osnova" таблицы test той же строки
                        where test1.url =test.url ---найти идентичное содержимое в одной из ячеек колонки "url" таблицы test1 
                        )
а если в test1 окажется несколько (>1) с одним url что будем делать ?
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.02.2014, 12:51   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Только если test1.url уникально, иначе не пойдет
Код:
UPDATE test
  SET Osnova=(SELECT test1.Osnova FROM test1 WHERE test1.url=test.url)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.02.2014, 13:03   #4
Staspost
Новичок
Джуниор
 
Регистрация: 27.02.2014
Сообщений: 2
По умолчанию

Огромное спасибо! В принципе, все url уникальны, проблем быть не должно (надеюсь). ))
Staspost вне форума Ответить с цитированием
Старый 27.02.2014, 13:24   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Код:
update test,test1 set test.Osnova=test1.Osnova where test.url=test1.url
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос данных между таблицами Обыватель Microsoft Office Excel 7 25.10.2013 11:08
оздание связей между таблицами + сложный запрос romanln2012 Microsoft Office Access 1 27.02.2013 17:40
Экспорт данных между таблицами. Как? Chivavas Microsoft Office Excel 0 20.07.2012 18:24
Перенос данных между таблицами в разных базах. Volodq БД в Delphi 3 27.05.2011 11:54
Перенос записей между таблицами Македонский БД в Delphi 12 27.08.2007 09:41