Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL [IB6.x]


Брат ©   (2003-10-21 19:17:00) 

Люди! Нужно организовать что-то типа этого:
.....
update dovidkavidatki
set dovidkavidatki.nom_utoch=utochvidatki.number,
dovidkavidatki.date_utoch=utochvidatki.dateutoch
where
utochvidatki.vcode=dovidkavidatki.vcode and
utochvidatki.fcode=dovidkavidatki.fcode and
utochvidatki.ecode=dovidkavidatki.ecode and
utochvidatki.tf=dovidkavidatki.tf and
utochvidatki.otdel=dovidkavidatki.otdel
.....
Здесь выскакивает ошибка. Я знаю что с точки зрения синтаксиса это неправильно. Как можно сделать аналогичное действие с помощью SQL?


Брат   (2003-10-22 12:58:00) [1]


> признавайтесь, где работаете! :))

ты угадал :) в главном финансовом управлении
госслужба, мать ее за ногу


Val   (2003-10-22 12:50:00) [2]

>Sergey13 © (22.10.03 09:29) [10]
любители так называть поля часто обретаются в упр.госконторах, программы которых потом спускаются "сверху", мы потом и читаем, либо используя, либо стыкуя :)
не видели таблички программы персонификации украинской? названия типа eklmn, а к ним дока немаленькая такая с расшифровками, зачастую устаревшая :(
>Брат © признавайтесь, где работаете! :))


BlackKing   (2003-10-22 12:34:00) [3]

"Sobiraj butilki, v butilkah sila, u kogo ih bol"she, tot i sil"neje"


Брат   (2003-10-22 12:30:00) [4]


> NAlexey © (22.10.03 10:15) [12]
> В чем сила Брат?:)

в правде вся сила, брат, и кто прав - тот сильнее


NAlexey   (2003-10-22 10:15:00) [5]

>спасиба брат, за поддержку :)
В чем сила Брат?:)


Брат   (2003-10-22 09:31:00) [6]


> Sergey13 © (22.10.03 09:29) [10]

спасиба брат, за поддержку :)


Zacho   (2003-10-22 09:29:00) [7]


> Брат © (22.10.03 09:24) [6]

Вложенный SELECT, естественно, должен выбирать только одну запись. А у тебя выбирает несколько. Переделай условие в WHERE, я же не знаю, какие у тебя в таблицах первичные ключи. И прочитай все-таки статью. И еще один совет: всегда явно указывай алиасы таблиц, причем они не должны совпадать с именами таблиц.


Брат   (2003-10-22 09:29:00) [8]


> ЮЮ © (22.10.03 09:27) [7]

понял - счас разберусь...


Sergey13   (2003-10-22 09:29:00) [9]

2NAlexey © (22.10.03 09:04) [3]
А он не читает, он пишет. 8-)


ЮЮ   (2003-10-22 09:27:00) [10]

Это когда селект вернул несколько записей, а ты пытаешься запихнуть это в одно поле
nom_utoch=(SELECT


Брат   (2003-10-22 09:24:00) [11]


> Zacho © (22.10.03 08:58) [2]

выдает ошибку "multiple rows in singleton select"...
что ето?


Брат   (2003-10-22 09:19:00) [12]


> NAlexey © (22.10.03 09:04) [3]
> >utochvidatkidovidkavidatki
> Ужас. Как ты читаеш это?

как-то незадумывался над етим.... :)
Мне все крайне понятно - работаю с этой базой уже полгода - названия мои....


Е-Моё имя   (2003-10-22 09:14:00) [13]


> NAlexey © (22.10.03 09:04) [3]

действительно, интересно


NAlexey   (2003-10-22 09:04:00) [14]

>utochvidatkidovidkavidatki
Ужас. Как ты читаеш это?


Zacho   (2003-10-22 08:58:00) [15]

Надо:
update dovidkavidatki
set dovidkavidatki.nom_utoch=
(SELECT utochvidatki.number FROM utochvidatki
where
utochvidatki.vcode=dovidkavidatki.vcode and
utochvidatki.fcode=dovidkavidatki.fcode and
utochvidatki.ecode=dovidkavidatki.ecode and
utochvidatki.tf=dovidkavidatki.tf and
utochvidatki.otdel=dovidkavidatki.otdel), dovidkavidatki.date_utoch=(SELECT utochvidatki.dateutoch FROM utochvidatki
where
utochvidatki.vcode=dovidkavidatki.vcode and
utochvidatki.fcode=dovidkavidatki.fcode and
utochvidatki.ecode=dovidkavidatki.ecode and
utochvidatki.tf=dovidkavidatki.tf and
utochvidatki.otdel=dovidkavidatki.otdel)

Но будет работать крайне медленно. Гораздо быстрее хранимой процедурой. См. http://www.ibase.ru/devinfo/updsame.htm


TohaNik   (2003-10-21 19:42:00) [16]

Хранимая процедура с входными параметрами
равными utochvidatki.number и utochvidatki.dateutoch


Наверх

Титульная страница Поиск, карта сайта Написать письмо