Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]
Forum PHP.pl > Forum > Bazy danych > MySQL
miska
Opis przypadku:


Jak wyciągnąć ostatnią wydaną legitymację ? dla danej osoby ?
JaRoPHP
Cytat(miska @ 21.08.2007, 21:35:55 ) *
Jak wyciągnąć ostatnią wydaną legitymację ? dla danej osoby?

  1. SELECT idlegitymacje
  2. FROM legitymacje JOIN dane ON dane.id = legitymacje.id
  3. ORDER BY lagitymacje.data_wydania DESC LIMIT 1

Nie sprawdzałem smile.gif, ale mam nadzieję, że będzie działać. Jak nie od razu, to po delikatnych przeróbkach.
osiris
Jesli pole id w tabeli legitymacje, to id osoby do ktorej nalezy legitymacja to:
  1. SELECT * FROM legitymacje WHERE id=$id
  2. GROUP BY id
  3. HAVING data_wydania=MAX(data_wydania)

lub nie uzywajac funkcji agregujacych:
  1. SELECT * FROM legitymacje WHERE id=$id
  2. ORDER BY data_wydania DESC LIMIT 1
miska
Cytat(JaRoPHP @ 22.08.2007, 09:50:39 ) *
  1. SELECT idlegitymacje
  2. FROM legitymacje JOIN dane ON dane.id = legitymacje.id
  3. ORDER BY lagitymacje.data_wydania DESC LIMIT 1

Nie sprawdzałem smile.gif, ale mam nadzieję, że będzie działać. Jak nie od razu, to po delikatnych przeróbkach.


Jaro OK ale ...

Ma to się odbywać tak : jest to lista osob OSOBA może mieć ALE nie musi mieć legitymacji w tym zapytaniu wyświetli mi tylko osoby które mają legitymację.

Na liście mają się znaleźć wszystkie osoby
mwojcik
Moze tak :
  1. SELECT dane.id, dane.imie, dane.nazwisko, MAX(legitymacje.data_wydania) AS ostatnio_wydana
  2. FROM dane LEFT OUTER JOIN legitymacje ON dane.id = legitymacje.id
  3. GROUP BY dane.id, dane.imie, dane.nazwisko
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.