Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Koriscenje rezultata SELECT upita

[es] :: MS SQL :: Koriscenje rezultata SELECT upita

[ Pregleda: 2523 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

M E N E
borislav
Temerin

Član broj: 30434
Poruke: 231
*.nspoint.net.



+1 Profil

icon Koriscenje rezultata SELECT upita16.10.2007. u 12:38 - pre 200 meseci
Dakle, ako u jednoj stored proceduri treba da izvrsim dva selecta, a rezultati drugog zavise direktno od rezultata prvog... kako to da uradim?
Tacnije
select a, b, c from [tabela1] where (uslov)
...
select x, y, z from [tabela2] where (uslov povezan sa a, b, c iz prvog selecta)


Kako najelegantnije da radim ove stvari? Da se razumemo prvi select mi treba ne samo zbog drugog selecta (prosledjujem ga biznis sloju), ali kako da u istom tom iskazu snimim vrednosti koje mi terbaju za drugi select (nesto kao dodeljivanje vrednosti promenljivim u iskazu select, gde bih ranije pripremio promenljive @a, @b, i @c)
Uhvatili ste me nespremnog
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.intens.co.yu.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Koriscenje rezultata SELECT upita16.10.2007. u 13:30 - pre 200 meseci
Nisi bas bio najjasniji, ali pokusacu da ti pomognem.
Rezultate prvog upita mozes snimiti u promenjive. Nesto kao:

declare @a nvarchar(10)
declare @b nvarchar(10)
declare @c nvarchar(10)

SELECT @a = a, @b=b, @c=c FROM...

pa onda to koristi u drugom upitu.
Takodje mozes da napravis podupit:

select x, y, z from [tabela2] where y IN (select a from [tabela1] where (uslov))

ima jos nekoliko mogucnosti, ako ti ovo ne resava problem, postuj konkretan primer, pa cemo probati da resimo.
Every hamster has his day.
 
Odgovor na temu

Teks

Član broj: 153636
Poruke: 31
77.46.206.*



Profil

icon Re: Koriscenje rezultata SELECT upita16.10.2007. u 22:26 - pre 200 meseci
u slučaju da su promenljive skalar, Fedya je dao odgovor

SELECT @a = a, @b=b, @c=c FROM...

Ako je promenljiva matrica moglo bi ovako

Declare @tmp1 as Table
.
.
.

Insert into @tmp1
Select a,b,c From ...

privremene tabele sa # rade mnogo sporije nego promenljive tipa tabele
 
Odgovor na temu

M E N E
borislav
Temerin

Član broj: 30434
Poruke: 231
*.nspoint.net.



+1 Profil

icon Re: Koriscenje rezultata SELECT upita17.10.2007. u 08:06 - pre 200 meseci
OK, hvala
Mislio sam da postoji fora otprilike:

SELECT a, b, c, @d=d, @e=e, f, g,.... from... where....
ali ne moze se kombinovati dodeljivanje vrednosti parametrima i vracanje vrednosti...
Dakle, prvo jedan upit (u odnosu na onaj gore)

SELECT @d=d, @e=e ....

pa onda drugi

SELECT a, b, c, f, g,.....

E, ekspresno menjam pitanje...
ako mi je kolona id tipa uniqueidentifier, i napravim select u proceduri:

SELECT id, a from [tabela1] WHERE id=@id

skript radi kad ga proverim u SQL Menagement studiu, a kad je pozove kolega iz C#, ne radi, tj. radi, ali mu vrati prazan skup.
Promenim i stavim sledece

SELECT a from [tabela1] WHERE id=@id
(dakle, u povratne vrednosti ne trazim kolonu id, sve ostalo je isto)

i radi lepo.
Napominjem, kada poteram proceduru radi sve, ali kad se pozove iz c# okruzenja, ima taj problem. Ima li iko ideju???


Uhvatili ste me nespremnog
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.intens.co.yu.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Koriscenje rezultata SELECT upita17.10.2007. u 10:09 - pre 200 meseci
Ako ti procedura radi kad je poteras a ne radi iz aplikacije problem je do aplikacije
Proveri (u C# kodu) kako se prosledjuju parametri, proveri tipove, povratne vrednosti i sl.
Every hamster has his day.
 
Odgovor na temu

[es] :: MS SQL :: Koriscenje rezultata SELECT upita

[ Pregleda: 2523 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.