Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno SQL UPDATE

Nazdárek, potrebujem trošku helfnuť "SQL"...

Mam dve tabulky, jedna je A a druha B. Nasledovným selectom dostanem dáta ktoré potrebujem :

select * from A, B where B.CISLO=2 and B.MESTO='BRATISLAVA' and A.KRAJ=B.KRAJ

Môj problém spočíva v tom že za rovnakých podmienok ako v selecte chcem urobiť update v tabulke A v jednom poli. Skúsil som toto:

update A set CISLO=2 from A, B where B.CISLO=2 and B.MESTO='BRATISLAVA' and A.KRAJ=B.KRAJ

Asi hlupost:-(, nikdy som totiž nerobil takýto update ked mam hodnoty pre where v dvoch tabulkach. Vie mi niekto helfnuť?

Dik

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Co je to za konstrukci updatu? Nemel by jsoi pouzivat "join", pokud chces pracovat se 2 tabulkama...… nový
gd 12.02.2009 14:13
gd
Udělal bych to nějak takto: update A set CISLO=2 where (select * from A, B where B.CISLO=2 and B.ME… nový
host 12.02.2009 14:18
host
Toto pomohlo. Dakujem poslední
Skopecek 12.02.2009 14:52
Skopecek
CISLO se má v obou tabulkách shodovat? Nějak nechápu ten join na ty kraje. Ty kraje jsou v některé z… nový
Vladimir 12.02.2009 14:30
Vladimir

CISLO se má v obou tabulkách shodovat? Nějak nechápu ten join na ty kraje. Ty kraje jsou v některé z tabulek klíč?

/* tohle funguje jen když můj předpoklad, že čísla v B jsou správně a ty je chceš aktualizovat v A, kde místo 2 máš jiné číslo než 2, a spojení na kraje není potřebné - toto nevím, pozor */

UPDATE A

SET A.CISLO=2

WHERE A.CISLO IN (SELECT B.CISLO FROM B WHERE B.CISLO = 2 AND B.MESTO = 'BRATISLAVA')

Zpět do poradny Odpovědět na původní otázku Nahoru