Novo

Forum kao aplikacija na telefonu

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

  • 7 odgovora
  • 4.619 pregleda

Najnovija ↓

Select razlicitih polja u tabeli 05.11.2010. u 08:33 · pre 194 meseca #1
Pozdrav!

Kako da napravim stored procedure tako da mi vraća
različite vrednosti polja iz tabele u zavisnosti o vrednosti polja.

Primer...

U tabeli imam tri polja

id
ime
tacnost

ako je je tacnost = 1 , onda vrati vrednost polja ime

ako je je tacnost = 0 , onda umesto vrednost polja ime vrati vrednost netacno

Hvala unapred....

Re: Select razlicitih polja u tabeli 05.11.2010. u 12:00 · pre 194 meseca #2
SELECT
[Id], [Ime], CASE WHEN [tacnost] = 1 THEN [Ime] ELSE 'Netacno' END
FROM ...
Potpis
Every hamster has his day.
Re: Select razlicitih polja u tabeli 05.11.2010. u 12:14 · pre 194 meseca #3
Pozdrav!!

Hvala puno!!

A ako imam vise polja da vratim ako je je tacnost=1 a samo jedno ako je tacnost=0

Primer..

Polja u tabeli

id
ime
prezime
ulica
grad

ako je tacnost=1 vratim sva polja

a akoje tacnost=0 vratim ime sa vrednoscu netacno..

pozzzz
Re: Select razlicitih polja u tabeli 06.11.2010. u 10:34 · pre 194 meseca #6
Obzirom da hoćeš da praviš stored proceduru, onda definiši ulazni parametar procedure i na osnovu njegove vrednosti koju ćeš proveravati sa IF..THEN napiši poseban SELECT query koji radi ono što ti treba.
Potpis
"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
Re: Select razlicitih polja u tabeli 06.11.2010. u 17:28 · pre 194 meseca #7
Bez obzira sto je u pitanju storovana, njemu na osnovu vrednosti u redu treba da se vrate ili ne vrate odredjena polja za taj isti red. IF-ELSE tu nije resenje, osim ako ne bi radio dva upita i onda UNION ta dva upita u hardcode-irao NULLove za kolone koje se ne pojavljuju.
Ovo drugo nije resenje, posto postiji gomila problema koje tu mogu da se pojave. Npr ako se radi pagining dva upita komplikuju stvari (posto treba brojati koliko vrednosti ima). Znaci ako bi tabela izgledala ovako:

1, Pera, False
2, Sima, True
3, Djoka, False
4, Mika, True

I onda rezultat izadje:

1, NULL
2, Sima
3, NULL
4, Mika

I hocemo pagining od dva reda, strana 2, znaci redovi koji nam trebaju su redovi 3 i 4, iz dva upita bi bilo veoma komplikovano izvuci.

Takodje, ako se rade neke agregatne funkcije ili sortiranje to bi se moralo raditi na trecem upitu koji bi bio rezultat uniona... Sve u svemu, CASE je bolje resenje.
Potpis
Every hamster has his day.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme