Форум: "Базы";
Текущий архив: 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.005 c