Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
ВнизЗнатоки SQL! Найти похожие ветки
← →
TimPasha (2002-03-21 15:04) [0]Как обобщить на все договора такой запрос?
update Table1 set Table1.rayon =
(select Table2.rayon from Table2
where Table2.Dogovor=73)
where Table1.Dog=73
← →
Val (2002-03-21 15:30) [1]убрать условия определения договора - where
← →
Polevi (2002-03-21 15:40) [2]UPDATE Table1 SET T1.Rayon=T2.Rayon FROM Table1 T1,Table2 T2 WHERE T2.Dogovor=T1.Dog
← →
asafr (2002-03-21 15:47) [3]И верно
update Table1
set Table1.rayon =
(select Table2.rayon from Table2)
← →
Johnmen (2002-03-21 16:00) [4]...и нарываетесь на ...Multiple rows in singleton select...
← →
asafr (2002-03-21 16:09) [5]Johnmen, согласен
← →
Fareader (2002-03-21 16:46) [6]>Johnmen © какие проблемы? ставим Distinct и все
← →
Johnmen (2002-03-21 16:51) [7]>Fareader © : И что ???
← →
fishka (2002-03-21 17:01) [8]
update Table1 set Table1.rayon =
- если для каждого Dogovor есть 1 rayon.
(select Table2.rayon from Table2
where Table2.Dogovor=Table1.Dog)
или
update Table1 set Table1.rayon =
- если записей несколько, но у всех Dogovor только 1 уникальный rayon.
(select distinct Table2.rayon from Table2
where Table2.Dogovor=Table1.Dog)
В случаях неуникальности rayon для каждого Dogovor задача не имеет смысла.
Но вообще-то чтобы написать желательно бы знать содержание таблиц...
← →
Johnmen (2002-03-21 17:48) [9]А вот если для Table2.rayon соответствующей записи при where Table2.Dogovor=Table1.Dog не будет найдено, то получиться Table1.rayon=null ! А надо ли так ?
← →
Fareader (2002-03-21 18:00) [10]>Johnmen ©
1. я имел ввиду такой запрос как у fishka с distinct.
2. Может так и не надо, но что мешает создать тригер на Before
Update и обработать занчение null
← →
Johnmen (2002-03-21 18:04) [11]Мешает dBase и FoxPro ! :)
← →
Fareader (2002-03-21 18:10) [12]Извините, у меня после напряженной работы по оптимизации вставки большого объема данных в IB кажется, что все работают с ним 8)
← →
Johnmen (2002-03-21 18:16) [13]У меня такое тоже часто бывает ... ;o)))
← →
TimPasha (2002-03-22 09:05) [14]> fishka - запросы работают нормально, но меня поразило, что это все же медленнее, чем сначала из одной таблицы выбрать договора и районы, а потом просто обновить в др. таблице районы.
Единым запросом времени на 3600 записей надо 10 секунд примерно,
а раздельными - 6-7. Не знаешь, почему такое может быть - в сложности составленного запроса?
← →
Donal_Graeme (2002-03-22 11:10) [15]ессно, в сложности... ну ка, для каждой записи делать SELECT.
я одного не пойму, почему вариант Polevi не подходит? :-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c