Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] Pobranie pierwszej wolnej liczby.
scr1pt3r
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 27.08.2011
Skąd: Los Angeles

Ostrzeżenie: (0%)
-----


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 ?


--------------------
'.' http://www.youtube.com/watch?v=ZxJsDsLUuKQ
Go to the top of the page
+Quote Post
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  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ś.

Ten post edytował Damonsson 13.10.2011, 09:21:32
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Google, słowa kluczowe: sql find gap


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
scr1pt3r
post
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 27.08.2011
Skąd: Los Angeles

Ostrzeżenie: (0%)
-----


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.


--------------------
'.' http://www.youtube.com/watch?v=ZxJsDsLUuKQ
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:46