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
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