Вниз
Скачать: CL | DM;

Знатоки 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 =
(select Table2.rayon from Table2
where Table2.Dogovor=Table1.Dog)
- если для каждого Dogovor есть 1 rayon.
или
update Table1 set Table1.rayon =
(select distinct Table2.rayon from Table2
where Table2.Dogovor=Table1.Dog)
- если записей несколько, но у всех Dogovor только 1 уникальный rayon.
В случаях неуникальности 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.014 c
1-32823
anod
2002-03-29 00:22
2002.04.11
Размер массива


1-32795
Yaro
2002-03-31 16:04
2002.04.11
Ради бога! Прочтите это!


1-32725
Rogot
2002-03-30 05:45
2002.04.11
Form


1-32880
Danila
2002-03-29 16:10
2002.04.11
Не удается сделать указатель на Canvas


3-32696
kaif
2002-03-21 10:59
2002.04.11
Cached Updates update failed?




   Наверх