Novo

Forum kao aplikacija na telefonu

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

  • 4 odgovora
  • 4.238 pregleda

Najnovija ↓

upit za prvi slobodan broj 15.05.2007. u 02:19 · pre 237 meseci #1
Pozdrav svima,
ne znam kako da formiram upit, pa mi treba pomoc.
Ovako:

Imam bazu

Id Naziv BrZaduzenja

1 aaa 1
2 bbb 2
3 ccc 3
4 ddd 4
5 eee 6
6 fff 7
7 das 8
8 ssa 10
9 sdf 11
10 asf 12

Interesujeme kako mogu da dobijem prvi slobodan broj
iz field-a "BrZaduzenja" tj, u ovom
slucaju bi slobodni bili brojevi: (5, 9, i 13)?

Hvala unapred.
pozdrav
Re: upit za prvi slobodan broj 15.05.2007. u 08:11 · pre 237 meseci
izmenjeno 1 put, poslednji put chachka 15.05.2007. u 10:17
  1. chachka15.05.2007. u 10:17zapis iz teksta poruke
#2
Ako BrZaduzenja pripada skupu prirodnih brojeva, onda:
Code:

SELECT COALESCE(MIN(t.neiskoriscen_BrZaduzenja),
                (SELECT MAX(BrZaduzenja) + 1 FROM neka_tabela)
               ) AS najmanji_slobodan_BrZaduzenja
  FROM (SELECT COUNT(t2.BrZaduzenja) AS neiskoriscen_BrZaduzenja
          FROM neka_tabela AS t1
               INNER JOIN
               neka_tabela AS t2
                 ON t1.BrZaduzenja >= t2.BrZaduzenja
         GROUP BY t1.BrZaduzenja
        HAVING t1.BrZaduzenja <> COUNT(t2.BrZaduzenja)
       ) AS t

Gornji upit ne samo da vraca prvu rupu nego u slucaju da nema rupe vraca prvi sledeci broj. Ako je potrebno samo nalazenje rupe onda je dovoljno i:
Code:

SELECT MIN(t.neiskoriscen_BrZaduzenja) AS najmanji_neiskoriscen_BrZaduzenja
  FROM (SELECT COUNT(t2.BrZaduzenja) AS neiskoriscen_BrZaduzenja
          FROM neka_tabela AS t1
               INNER JOIN
               neka_tabela AS t2
                 ON t1.BrZaduzenja >= t2.BrZaduzenja
         GROUP BY t1.BrZaduzenja
        HAVING t1.BrZaduzenja <> COUNT(t2.BrZaduzenja)
       ) AS t
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: upit za prvi slobodan broj 14.09.2008. u 19:28 · pre 220 meseci #4
Ja se izvinjavam sto aktiviram ove "zastarele" teme.. ali jedino je ova tema za prvi slobodan broj..

ja ne kontam gore navedeni sql kod.. gore se povezuju neke 2 tabele i onda se trazi najmanji..
meni treba sql kod koji iz jedne tabele koja ima polja Sifra i Naziv nadje prvu slobodnu sifru.. tj. prvu "rupu"..
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme