Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 3.306 pregleda

Najnovija ↓

Koriscenje rezultata SELECT upita 16.10.2007. u 13:38 · pre 231 mesec #1
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)
Potpis
Uhvatili ste me nespremnog
Re: Koriscenje rezultata SELECT upita 16.10.2007. u 14:30 · pre 231 mesec #2
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.
Potpis
Every hamster has his day.
Re: Koriscenje rezultata SELECT upita 16.10.2007. u 23:26 · pre 231 mesec #3
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
Re: Koriscenje rezultata SELECT upita 17.10.2007. u 09:06 · pre 231 mesec #4
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???

Potpis
Uhvatili ste me nespremnog
Re: Koriscenje rezultata SELECT upita 17.10.2007. u 11:09 · pre 231 mesec #5
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.
Potpis
Every hamster has his day.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme