Mam trzy tabele z danymi. Tabela wejscie, osoby, adres.
Z tabeli wejscie pobieram do tablic dane z kolumn (id,num,pokoj,wejscie,wyjscie,do_kogo,wprowadzil,wyprowadzil).
Z tabeli osoby pobieram do tablic dane z kolumn (im1,nazw,syn,pesel,ur).
Z tabeli adres pobieram do tablic dane z kolumn (miej,ul,dom).
include "../../osoby/baza.php"; $zapytanie = "SELECT wejscia.id, wejscia.num, wejscia.pokoj, wejscia.wejscie, wejscia.wyjscie, wejscia.do_kogo, wejscia.wprowadzil, wejscia.wyprowadzil, osoby.im1,osoby.nazw,osoby.syn,osoby.pesel,osoby.ur, adres.miej,adres.ul,adres.dom FROM wejscia LEFT JOIN osoby ON wejscia.num=osoby.num LEFT JOIN adres ON wejscia.num=adres.num where (wejscia.data_wej>='$_okres' $pyt) GROUP BY id order by wejscia.data_wej, adres.wp"; { $id[]=$wiersz['id']; $num[]=$wiersz['num']; $pokoj[]=$wiersz['pokoj']; $wejscie[]=$wiersz['wejscie']; $wyjscie[]=$wiersz['wyjscie']; $do_kogo[]=$wiersz['do_kogo']; $wprowadzil[]=$wiersz['wprowadzil']; $wyprowadzil[]=$wiersz['wyprowadzil']; $imie[]=$wiersz['im1']; $nazw[]=$wiersz['nazw']; $syn[]=$wiersz['syn']; $pesel[]=$wiersz['pesel']; $ur[]=$wiersz['ur']; $miej[]=$wiersz['miej']; $ul[]=$wiersz['ul']; $dom[]=$wiersz['dom']; }
Zapytanie działa ale chciałbym nieco inny wynik otrzymać. Okazuje się, że dla danego pola num w tabeli adres istnieją 3 adresy. W moich wynikach mam pobrany pierwszy, a chciałbym ostatni czyli o największym id lub największej dacie (pole zwie się wp).
Napiszę tak na przykładzie :
Otrzymuje takie wyniki :
$id[$x]=8; $num[$x]=19218; $pokoj[$x]=311; $wejscie[$x]=2013-12-06 09:01:00; itd.... $miej[$x]=Legnica; $ul[$x]=Kulawa; $dom[$x]=10;
A chciałbym :
$miej[$x]=Legnica; $ul[$x]=Polna; $dom[$x]=22;
Czyli adres najświeższy w bazie, że tak powiem. Jak to posortować na etapie pobierania. Chce pobrać tylko 1 adres i to ten ostatni.