Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql], zapytanie
miska
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 23.11.2003

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


Opis przypadku:
(IMG:http://pzmwinw.nazwa.pl/sanepid/legit.png)

Jak wyciągnąć ostatnią wydaną legitymację ? dla danej osoby ?

Ten post edytował miska 21.08.2007, 22:36:59
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , ale mam nadzieję, że będzie działać. Jak nie od razu, to po delikatnych przeróbkach.
Go to the top of the page
+Quote Post
osiris
post
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 15
Dołączył: 19.07.2007

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


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
Go to the top of the page
+Quote Post
miska
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 23.11.2003

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


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 (IMG:http://forum.php.pl/style_emoticons/default/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
Go to the top of the page
+Quote Post
mwojcik
post
Post #5





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 22.07.2007

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


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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 13:12