Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];

Вниз

UPDATE дной таблице по друго с использованием SQL   Найти похожие ветки 

 
Виталий Панасенко   (2002-06-11 08:47) [0]

Есть две таблицы Т1 и Т2 одинаковой структуры (ID, NAME). Как при помощи SQL ОБНОВИТЬ Т1.Name по T2.Namу, связав эти таблицы по ID ? Спасибо ...


 
Johnmen   (2002-06-11 09:04) [1]

Никак....


 
VAleksey   (2002-06-11 09:09) [2]

Почему никак?

SET T1.Name=T2.Name
Where T1.Id = T2.Id

раве не так ?


 
Johnmen   (2002-06-11 09:19) [3]

>VAleksey © (11.06.02 09:09)

А полностью попробуй напиши ... :))))))))))


 
Zemal   (2002-06-11 09:45) [4]

Можно и вот так к примеру:

UPDATE T1
SET T1.name = T2.name
FROM T1 INNER JOIN T2 ON T1.id = T2.id
WHERE T1.name != T2.name AND T2.name IS NOT NULL

Если надо что разъяснить,
то обращайся на мыло:
zemal@rtsnet.ru


 
Johnmen   (2002-06-11 09:56) [5]

>Zemal © (11.06.02 09:45)

Откуда взят такой синтаксис апдейта ?


 
Fishka   (2002-06-11 10:05) [6]

update T1 set T1.NAME=(select T2.NAME from T2
where T1.ID=T2.ID)
where exists (select T2.ID from T2 where T1.ID=T2.ID)

Замечание. Последнее условие where exists (select T2.ID from T2 where T1.ID=T2.ID) не нужно, если для каждого T1.ID есть T2.ID. Данное условие может быть другим, например с использованием IN (select .......)


 
Johnmen   (2002-06-11 10:16) [7]

>Fishka (11.06.02 10:05)

Рекомендую сначала попробовать работоспособность приведенного примера....
И указать для какой СУБД он приведен...


 
Fishka   (2002-06-11 11:26) [8]

>Johnmen © (11.06.02 10:16)
Запросы такого вида были мною написаны для DBF и MSSQL.
Работоспособность проверена. Вот текст работающего запроса (для моих DBF):
update "D:\bio.dbf" a
set name = (select PNRUS from "d:\biores.dbf" b
where a.cod_f=b.obk)
where a.cod_f in (select obk from "d:\biores.dbf" c)


 
Johnmen   (2002-06-11 11:44) [9]

>Fishka (11.06.02 11:26) : Удивительно...:)


 
VAleksey   (2002-06-11 14:46) [10]


> Johnmen © (11.06.02 11:44)

Удивительно, что это для тебя удивительно !


 
Johnmen   (2002-06-11 14:56) [11]

>VAleksey © (11.06.02 14:46)

Веришь-нет, никогда не приходилось делать такие апдейты, поскольку, если вникнуть в то, что он делает, становится очевидным, что при конструировании БД были допущены существенные огрехи, в т.ч. при нормализации....

А сам запрос действительно работает...:)


 
VAleksey   (2002-06-11 15:02) [12]


> Johnmen © (11.06.02 14:56)

ты совершенно прав. Поэтому я и не ответил на этот вопрос сразу, а только после того как ты высказался. -).
ЗЫ
Хотелось подразнить мастера. :)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
14-9999
Esu
2002-06-04 12:51
2002.07.04
Subj


1-9886
alext
2002-06-20 15:48
2002.07.04
Коды стрелок?


14-10019
Феликс
2002-06-01 12:57
2002.07.04
:)


6-9951
Donal_Graeme
2002-04-24 18:47
2002.07.04
HTTP-прокси - получение данных


6-9955
eSKey
2002-04-22 16:42
2002.07.04
Определить маску подсети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский