pobieram dane z dwóch połączonych tabeli i sortuję wg kolumny pilne z pierwszej tabeli. druga tabela zawiera wykonane telefony do klienta (datetime). chciałbym w tabeli wyświetlić wszystkie dane, ale w kolumnie połączenia mieć tylko datetime ostatniego połączenia. jak to zrobić?
SELECT * FROM oczekujacy LEFT JOIN oczekujacytelefon ON oczekujacy.id=oczekujacytelefon.kto ORDER BY pilne DESC";
http://www.php.net/echo "<td><a href='polaczenia.php?kto=$id'>"; http://www.php.net/echo $polaczenie; http://www.php.net/echo "</a></td>";
Posortuj to jeszcze po datetime malejąco + pokombinuj z GROUP BY - ale ręki nie dam sobie obciąć.
Jak nie zadziała pobranie z bazy tak jak chcesz, to zawsze możesz zrobić z wynikiem co chcesz w PHP.
w jaki sposób mogę w php pobrać tylko najnowszą datę?
mój obecny kod:
$sql = "SELECT oczekujacy.id AS id, oczekujacy.pacjent AS pacjent, oczekujacy.telefon AS telefon, oczekujacy.lekarz AS lekarz, oczekujacy.kategoria AS kategoria, oczekujacy.pilne AS pilne, oczekujacy.dojazd AS dojazd, oczekujacy.dostepny AS dostepny, oczekujacy.informacje AS informacje, oczekujacy.wpisany AS wpisany, oczekujacy.archiwum AS archiwum, oczekujacytelefon.kto AS kto, oczekujacytelefon.polaczenie AS polaczenie FROM oczekujacy LEFT JOIN oczekujacytelefon ON oczekujacy.id=oczekujacytelefon.kto WHERE archiwum = 0 ORDER BY kategoria ASC, pilne DESC"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $id = $row['id']; $polaczenie = $row['polaczenie ']; http://www.php.net/echo $polaczenie;
A gdzie w zapytaniu jest data?
Chcesz pobrać pulę rekordów i wśród nich znaleźć najwcześniejszą datę czy pobrać jeden rekord z tą datą?
P.S. Poczytaj o aliasach w MySQL, bo obecnie stosujesz je w sposób niezgodny z ich przeznaczeniem (utrudniasz sobie pracę).
tutaj masz rozwiązania: https://stackoverflow.com/questions/3619030/mysql-join-the-most-recent-row-only
jeśli faktycznie zależy Ci na jednym polu typu datetime (polaczenie) to można tak:
SELECT oczekujacy.id AS id, oczekujacy.pacjent AS pacjent, oczekujacy.telefon AS telefon, oczekujacy.lekarz AS lekarz, oczekujacy.kategoria AS kategoria, oczekujacy.pilne AS pilne, oczekujacy.dojazd AS dojazd, oczekujacy.dostepny AS dostepny, oczekujacy.informacje AS informacje, oczekujacy.wpisany AS wpisany, oczekujacy.archiwum AS archiwum, MAX(oczekujacytelefon.polaczenie) AS polaczenie FROM oczekujacy LEFT JOIN oczekujacytelefon ON oczekujacy.id = oczekujacytelefon.kto WHERE archiwum = 0 GROUP BY oczekujacy.id ORDER BY kategoria ASC, pilne DESC
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)