Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Pobranie pierwszej wolnej liczby.
Forum PHP.pl > Forum > Przedszkole
scr1pt3r
Witam mam w bazie tabele o takiej strukturze:

ID ID2 NAZWA ...np.
1 1 TEST
2 2 TEST
3 3 TEST
5 5 TEST
6 6 TEST

I teraz chciałbym pobrać zapytanie, które pobierze mi pierwszą "wolną" liczbę z kolumny ID2 czyli 4, no i potem dla pozostałych wpisów to też by działało i zwracało następne "wolne" liczby.
Nie mogę z tym sobie poradzić, może ktoś ułożyć takie zapytanie ?
Damonsson
  1. $query=mysql_query("Select `id2` from `tabela` order by `id2` asc");
  2. while($w=mysql_fetch_array($query)){
  3. $licz++;
  4. if($w['id2']!=$licz) { $puste_id=$w['id2']; break;}
  5. }
  6. $puste = $puste_id - 1;
  7. echo $puste;


Póki nikt Ci nie odpisze, jak to zrobić optymalnie, albo za pomocą samego zapytania MySQL, możesz zastosować takie coś.
thek
Google, słowa kluczowe: sql find gap
scr1pt3r
Próbuje już 2 metody, tym razem -
  1. SELECT `buildings`.`exitDimension` + 1 FROM `buildings` LEFT JOIN `buildings` AS `alt` ON `alt`.`exitDimension` = `buildings`.`exitDimension` + 1 WHERE `alt`.`exitDimension` IS NULL LIMIT 1
i zwraca mi 6, a chce 1. Moje wartości w kolumnie exitDimension to 4, 5.

Hmmm.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.