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

Koriscenje rezultata SELECT upita

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

[ Pregleda: 777 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

M E N E
borislav
Temerin

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



Profil

icon Koriscenje rezultata SELECT upita16.10.2007. u 12:38

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
16.10.2007. u 12:38 

Fedya
Fedor Hajdu
Senior Software Engeneer, Ammado Internet Services
Novi Sad

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

Jabber: fedya@elitesecurity.org
Sajt: www.ammado.com


Profil

icon Re: Koriscenje rezultata SELECT upita16.10.2007. u 13:30
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.
I am currently away on leave, traveling through time and will be returning last week.
16.10.2007. u 13:30 

Teks

Član broj: 153636
Poruke: 31
77.46.206.*



Profil

icon Re: Koriscenje rezultata SELECT upita16.10.2007. u 22:26
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
16.10.2007. u 22:26 

M E N E
borislav
Temerin

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



Profil

icon Re: Koriscenje rezultata SELECT upita17.10.2007. u 08:06
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
17.10.2007. u 08:06 

Fedya
Fedor Hajdu
Senior Software Engeneer, Ammado Internet Services
Novi Sad

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

Jabber: fedya@elitesecurity.org
Sajt: www.ammado.com


Profil

icon Re: Koriscenje rezultata SELECT upita17.10.2007. u 10:09
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.
I am currently away on leave, traveling through time and will be returning last week.
17.10.2007. u 10:09 

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

[ Pregleda: 777 | Odgovora: 4 ]

Postavi temu Odgovori

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