Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Wyswietlanie wierszy, ktore nie istnieja w tabeli
Forum PHP.pl > Forum > Przedszkole
kubagogo
Hej mam taki problem.
Powiedzmy ze jest tabela z lista miejsc zarezerwowanych na seans w kinie. Znajduja sie w niej tylko rezerwacje w postaci numer miejsca + dane osoby.
Chcialbym teraz wyswietlic liste wolnych miejsc. Ktos ma pomysl jak to zrealizowac?
To cos w stylu wyswietlenia wierszy ktore wogole nie istnija. Nie mozna dodac do tabeli zadnych nowych wierszy np usupelnic od 1-100 tylko numerami siedzen i wyswietlic te, przy ktorych nie ma nazwiska osoby.
mortus
Skoro można jakieś tam miejsca rezerwować, to informacja o miejscach powinna być gdzieś przechowywana, żeby potencjalny użytkownik mógł sobie miejsce wybrać. Zatem załóżmy, że jest to tabela MIEJSCA [ id, rzad, numer ]. Rezerwacje zapisujemy w tabeli REZERWACJE [ id, id_miejsca, dane_osobowe ]. Zapytanie, które wybierze nam wolne miejsca wyglądałoby np. tak:
  1. SELECT `m`.`id`, `m`.`rzad`, `m`.`numer` FROM `MIEJSCA` `m` LEFT JOIN `REZERWACJE` `r` ON `r`.`id_miejsca` = `m`.`id` WHERE `r`.`id` IS NULL

Oczywiście nie jest to jedyne rozwiązanie, a dwie inne propozycje i wyjaśnienie, co jest lepsze znajdziesz tutaj.
kubagogo
Wlasnie problem w tym, ze jest tylko jdna tabela w ktorej mamy 2 kolumny
W pierwszej jest numer siedzenia w drugiej osoba ktora je zarezerwowala
Powiedzmy ze na sali jest 5 miejsc a 2 zostaly zarezerwowane.
W tablicy mamy wtedy 2 wpisy:

NR IMIE
3 Kuba
5 Michal

I teraz w wyniku tego zapytania powinno wyskoczyc nam ze mamy 3 wolne miesca 1,2,4. Powiedzmy w postaci jednej kolumny z 3 wierszami
Tez jest to dla mnie troche dziwnie sformulowne, i zrobil bym to tak jak propnujesz. Ale musi byc wedle wytycznych
Damonsson
A skąd skrypt ma wiedzieć, że na sali jest akurat 5 miejsc? To jest niewykonalne, za mało danych wejściowych.
kubagogo
Nie mozna w jakis sposob powiedziec w zapytaniu ze interesuja nas tylko ID od 1-5? tylko ze tam nie ma numerow tych miejsc, ktore nie sa zarezerwowane.
Jesli ktos mial by jeszcze jakis pomysl to prosze, jesli faktycznie sie tego nie da zrobic to OK, dzieki za pomoc
phpion
Wygeneruj serię intów, dołącz do nich tabelę z rezerwacjami jako LEFT JOIN i wybierz tylko te inty, które nie mają dopasowania w tabeli rezerwacji (rezerwacja.miejsce IS NULL).
http://stackoverflow.com/questions/304461/...quence-in-mysql
kubagogo
OK wygenerowalem sekwencje, ale w jaki sposob mam ja polaczyc z tabela rezerwacji? To wogole jest mozliwe?
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.