Update SQL naredba - "malo" teža

poruka: 5
|
čitano: 2.214
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Update SQL naredba - "malo" teža

Treba mi mala pomoć. Prevodim neku skriptu iz VB. I došao sam do jedne Update skripte nakon koje više ne znam gdje mi je glava a gdje rep.

Stvar je sljedeća:

UPDATE nekaTablica SET nekopolje_id = '0', drugoPolje = (SELECT KOJI VRAĆA 77 Zapisa), .... još puno polja čiji svaki select vraća po 77 zapisa)

WHERE EXISTS ( SELECT koji vraća 77 zapisa) 

Naravno nakon pokretanja dobivam sljedeći error, jer mi podupit vraća 77 zapisa umjesto 1.
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression
Imate tko kakvu ideju kako da to napravim taj UPDATE?

Koi-dizajn jednog dana
 
0 0 hvala 0
17 godina
offline
Update SQL naredba - "malo" teža

malo mi izgleda loše složena tablica i relacije,... ali možda sam u krivu. premalo mi informacija.

:(

Moj PC  
1 0 hvala 0
14 godina
neaktivan
offline
Re: Update SQL naredba - "malo" teža

u principu ja bi trebao napraviti update na 77 redova u jednoj tablici i uzeti podatke za update iz druge tablice. 

VB skripta to radi kroz neku njihovu nazvanu skriptu SetUpdStatement gdje ima ulazni parametar polje koje mu daš i onda dobiješ =() u update naredbe.

Npr.

UPDATE ta SET survey_id = '0', SetUpdStatement(bl_id). puno ovih VB set poziva funkcije

WHERE klauzula i to je to.

 

E sad ako ja to doslovno pretvorim u SQL baca mi error da podupit vraća više od 1 zapisa. Ja bi treao napraviti u mom slučaju update naredbu za 77 zapisa, ali pošto ne znam koliko će svaki put biti zapisa ne mogu to napraviti tako.

 

Jel ti išta sad jasnije?

Koi-dizajn jednog dana
Poruka je uređivana zadnji put sub 14.4.2012 15:29 (Zoki99).
17 godina
neaktivan
offline
Re: Update SQL naredba - "malo" teža
http://msdn.microsoft.com/en-us/library/ms177523.aspx

pogledaj sintaksu UPDATE statementa. Možeš primjetiti da postoji FROM dio.. To je isti onaj FROM kao i u SELECT statementu. Što znači, možeš selektirati stvari iz drugih tablica kod updatea. Pošto nisi stavio detalje oko imena tablica i relacija, recimo da bito bilo ovako nešto...

Ako imaš tablicu kojoj trebaš updateati podatke iz neke druge tablica i imaš kolonu preko koje ih možeš povezati, možeš napisati nešto ovako

UPDATE Table1
SET Colon11 = t2.Colon12
FROM Table1 t1
JOIN Table2 t2
ON t1.ColonX = t2.ColonX (Može i WHERE, svejedno u ovom slučaju)

Osim toga, možeš definirati CTE table set pomoću WITH i raditi update preko toga.


14 godina
neaktivan
offline
Re: Update SQL naredba - "malo" teža
snor kaže...
http://msdn.microsoft.com/en-us/library/ms177523.aspx

pogledaj sintaksu UPDATE statementa. Možeš primjetiti da postoji FROM dio.. To je isti onaj FROM kao i u SELECT statementu. Što znači, možeš selektirati stvari iz drugih tablica kod updatea. Pošto nisi stavio detalje oko imena tablica i relacija, recimo da bito bilo ovako nešto...

Ako imaš tablicu kojoj trebaš updateati podatke iz neke druge tablica i imaš kolonu preko koje ih možeš povezati, možeš napisati nešto ovako

UPDATE Table1
SET Colon11 = t2.Colon12
FROM Table1 t1
JOIN Table2 t2
ON t1.ColonX = t2.ColonX (Može i WHERE, svejedno u ovom slučaju)

Osim toga, možeš definirati CTE table set pomoću WITH i raditi update preko toga.


Hvala, na kraju sam to uspjeo rješiti pomoću joina

Koi-dizajn jednog dana
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice