Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: select, dwie tabele, left join
Forum PHP.pl > Forum > Bazy danych > MySQL
nocnyMark()
mam takie zapytanie:

  1. SELECT
  2. monitory.id, monitory.nr_inw,
  3. historia_lok.id_punktu, historia_lok.rezerwacja_dla_punktu,
  4. historia_lok.data_uruch, historia_lok.data_zaw
  5. FROM `monitory` LEFT JOIN `historia_lok` ON monitory.id=historia_lok.id_monitory


i teraz wynikiem tego zapytania sa wszystkie monitory jakie sa w bazie, a takze historia_lok przyporzadkowana wg id_monitora
i zdaza sie ze na liscie mam kilka takich samych monitorow poniewaz byly na roznych lokalizacjach

problem moj polega na tym ze chcialbym aby pokazywal wszystkie monitory, kazdy z nich 1 raz na liscie i przyklejal do monitorow TYLKO historia_lok, ktorej historia_lok.data_uruch jest najwieksza (najblizsza dacie obecnej)
popbart
  1. SELECT
  2. monitory.id, monitory.nr_inw,
  3. historia_lok.id_punktu, historia_lok.rezerwacja_dla_punktu,
  4. historia_lok.data_uruch, historia_lok.data_zaw
  5. FROM `monitory`, `historia_lok`
  6. WHERE monitory.id=historia_lok.id_monitory
  7. ORDER BY historia_lok.data_uruch DESC LIMIT 0, 5

Albo tak
  1. SELECT
  2. monitory.id, monitory.nr_inw,
  3. historia_lok.id_punktu, historia_lok.rezerwacja_dla_punktu,
  4. historia_lok.data_uruch, historia_lok.data_zaw
  5. FROM `monitory`, `historia_lok`
  6. WHERE monitory.id=historia_lok.id_monitory AND historia_lok.id_monitory BETWEEN curdate() AND curdate() - interval 1 month

W tym przypadku left join nic nie da bo potrzebujesz daty z tej drugiej tabeli a nie wartości null
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.