update wypełniający dane w całej kolumnie na podstawie select'a wybierającego dane z innej kolumny

0

Witam. Chciałem napisać takie zapytanie, które wybierze dane z jednej kolumn, a następnie tymi danymi wypełni dane w innej kolumnie. Silnik firebird.
Wygląda ono tak:

update kd_histzatrud h
set h.hzat_miejscepracy =   (select h.hzat_zaklad
                            from kd_histzatrud h);

Niestety po uruchomieniu zapytanie zwraca taki błąd:

can't format message 13:189 -- message file C:\WINDOWS\firebird.msg not found.
multiple rows in singleton select.

Mam prośbę o pomoc bardziej doświdaczonych kolegów i koleżanek.

3

O ile dobrze zrozumialem SQL to:

update kd_histzatrud 
set hzat_miejscepracy =   hzat_zaklad
0
Marcin.Miga napisał(a):

O ile dobrze zrozumialem SQL to:

update kd_histzatrud 
set hzat_miejscepracy =   hzat_zaklad

Tak i o to chodziło. Niepotrzebnie kombinuję jak koń pod górę.

0

Nie mniej jednak użycie megre jest bardziej rozsądnym rozwiązaniem wydajnościowo. Przy małych tabelach nie odczujesz za mocno różnicy. Przy paru milionach rekordów możesz się zdziwić i nie doczekać na wykonanie takiego zapytania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1