Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Ostatnie rekordy dla danych w tabeli(po dacie)
piootras82
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.12.2010

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


Witam,
mam problem ponieważ nie wiem w jaki sposób stworzyć poprawne zapytanie do bazy.

Mam 3 tabele:

PUDŁA:
-----------------------------------
id_pudla .......numer_pudla
1 ........................11111
2 ........................22222
3 ........................33333
-----------------------------------

MAGAZYN
-----------------------------------
id_magazyn .....nazwa_magazynu
1 ......................mag1
2 ......................mag2
------------------------------------

HISTORIA
---------------------------------------------------------------
id_hist .......id_pudla ......data ...............id_magazyn
1 ......................1 .......2010-12-10 ...........mag1
2 ......................1 .......2010-12-11 ...........mag2
3 ......................1 .......2010-12-12 ...........mag1
4 ......................3 .......2010-12-20 ...........mag1
5 ......................2 .......2010-12-15 ...........mag1
6 ......................2 .......2010-12-16 ...........mag2
(pudło o id=1 było najpierw w mag1 -> mag2 ->mag1)

  1. SELECT numer_pudla, data, nazwa_magazynu FROM historia INNER JOIN pudla ON pudla.id_pudla = historia.id_pudla
  2. INNER JOIN magazyn ON magazyn.id_magazyn = historia.id_magazyn WHERE magazyn.id_magazyn="1"


To zapytanie zwraca mi wszystkie numery pudeł, dla których numer magazynu to "1"
czyli:

numer_pudla ........data............. magazyn
11111 .............2010-12-10 ...........mag1
33333 .............2010-12-20 ...........mag1
11111 .............2010-12-12 ...........mag1
22222 .............2010-12-15............mag1

W jaki sposób zrobić zapytanie do bazy aby wyświetlić tylko listę pudeł znajdujących się w magazynie ale po ostatnim
wpisie dla danego pudła?
Czyli pudło 11111 powinno w wynikach znajdować się tylko raz i to z ostatnią datą dodania tego właśnie pudła.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
piootras82
post
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.12.2010

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


  1. SELECT numer_pudla, data, nazwa_magazynu
  2. FROM historia INNER JOIN pudla ON pudla.id_pudla = historia.id_pudla
  3. INNER JOIN magazyn ON magazyn.id_magazyn = historia.id_magazyn
  4. WHERE magazyn.id_magazyn="1"
  5. GROUP by historia.data
  6. ORDER BY pudla.numer_pudla

mam takie zapytanie, ale dalej otrzymuję wszystkie numery pudeł z danego magazynu.

Ma ktoś z Was jakiś pomysł?
Albo może podpowiecie na co jeszcze zwrócić uwagę?

Ten post edytował piootras82 20.01.2011, 16:08:21
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.09.2025 - 01:10