Novo

Forum kao aplikacija na telefonu

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

  • 3 odgovora
  • 2.260 pregleda

Najnovija ↓

"Select from table" pod odredjenim uslovima 17.09.2012. u 12:19 · pre 171 mesec #1
imam tabelu

ime broj
-----------
mirko 1
slavko 2
janko 3


Treba mi select tako da selektuje ime gde je broj=2. Ali ako nema ime sa broj=2 onda neka selektuje bilo koje ime.

znaci nesto kao:

Code:

if (postoji broj=1 u tabeli blablaTable) then
   Select ime from blablaTable where broj =2
else
   Select top 1 ime from blablaTable


ali bilo bi zgodno da se ovo izvede bez if/else jer bi trebalo ovo "uglaviti" u gomilu inner joinova.
Da li postoji neki order by ali tako da na vrh stavim ono sto ja zelim pa da od toga uzmem top1?

Ili mozda neki drugi trik?
Re: "Select from table" pod odredjenim uslovima 17.09.2012. u 13:06 · pre 171 mesec #2
Npr.
Code:
DECLARE @T TABLE(Ime NVARCHAR(20), Broj INT)

INSERT INTO @T(Ime, Broj) VALUES(N'Mirko', 1)
INSERT INTO @T(Ime, Broj) VALUES(N'Slavko', 2)
INSERT INTO @T(Ime, Broj) VALUES(N'Janko', 3)

SELECT ISNULL((SELECT t.Ime FROM @T t WHERE t.Broj = 2), (SELECT TOP 1 t1.Ime FROM @T t1))
Re: "Select from table" pod odredjenim uslovima 17.09.2012. u 13:19 · pre 171 mesec #3
ili

Code (tsql):
declare @tbl table (ime nvarchar(50), broj int)

insert into @tbl select 'mirko', 1
insert into @tbl select 'slavko', 2
insert into @tbl select 'janko', 3

select top 1 * from @tbl
order by (case when broj = 2 then 1 else 0 end) desc
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme