Próbuję pobrać datę z dwóch tabel przy użyciu zapytania MYSQL. Chcę dołączyć do nich razem: categories.cat_id=topics.topic_cat
. Wiele wpisów może mieć ten sam numer topic_cat
, więc chcę wybrać tylko najnowszą, która jest równa MAX(topic_date)
.MYSQL JOIN dwie tabele ograniczają wyniki z drugiej tabeli według daty
Poniższe zapytanie pokazuje poprawne informacje z tematów, z tylko jednym wynikiem na topic_cat i tym, który ma najnowszą datę.
SELECT topic_subject, topic_cat, topic_date
FROM topics
GROUP BY topic_cat DESC
Wielokrotne wiersze mogą mieć taką samą wartość dla topic_cat, ale chcę tylko odzyskać i dołącz tylko najnowsze, max (topic_date), a następnie przystąpić do zapytania, które pojawiają się następujące informacje z tabeli Kategorie.
SELECT categories.cat_id, categories.cat_name, categories.cat_description, topics.topic_subject, topics.topic_cat, topics.topic_date, topics.topic_by
FROM categories
LEFT JOIN topics
ON categories.cat_id=topics.topic_cat
GROUP BY cat_id;
To zapytanie wyświetla poprawne informacje, z wyjątkiem jednej rzeczy. Pokazuje topic_cat z najstarszym wpisem lub MIN(topic_date)
. Próbowałem, aby uzyskać topic_cat przez najnowszy wpis lub MAX(topic_date)
, ale bez powodzenia.
SELECT categories.cat_id, categories.cat_name, categories.cat_description
FROM categories
LEFT JOIN (SELECT topic_subject, topic_cat, topic_date, topic_by
FROM topics
GROUP BY topic_cat DESC) AS topics
ON categories.cat_id=topics.topic_cat
Każda pomoc lub sugestie będą bardzo mile widziane.
OK, więc tutaj są przykładowe dane i powiązany pożądany wynik.
Tabela 1 = kategorie
_______________________________________________________
| cat_id | cat_name | cat_description |
-------------------------------------------------------
| 1 | james | Some information about james|
-------------------------------------------------------
| 2 | myo | Some information about myo |
-------------------------------------------------------
| 3 | brandon | Some information about brandon |
-------------------------------------------------------
Tabela 2 = wątków
__________________________________________________
| topic_subject | topic_cat | topic_date | topic_by |
----------------------------------------------------------
| marcos | 2 | 2013-9-28 | User 1 |
---------------------------------------------------------
| ferdinand | 2 | 2013-9-29 | User 2 |
---------------------------------------------------------
| maria luisa | 2 | 2013-9-30 | User 1 |
---------------------------------------------------------
| Isabella | 1 | 2013-8-24 | User 3 |
--------------------------------------------------------
| Carlos | 3 | 2012-6-21 | User 2 |
--------------------------------------------------------
| Enrique | 3 | 2011-4-2 | User 3 |
---------------------------------------------------------
ja jak zapytania powrotu następujące dane na podstawie powyższych tabelach:
_________________________________________________________________________________________________
| cat_id | cat_name | cat_description | topic_subject | topic_cat | topic_date | topic_by |
----------------------------------------------------------------------------------------------------------------
| 1 | james | Some information about james | Isabella | 1 | 2013-8-24 | User 3 |
----------------------------------------------------------------------------------------------------------------
| 2 | myo | Some information about myo | maria luisa | 2 | 2013-9-30 | User 1 |
----------------------------------------------------------------------------------------------------------------
| 3 | brandon | Some information about brandon | Carlos | 3 | 2012-6-21 | User 2 |
----------------------------------------------------------------------------------------------------------------
I mam nadzieję, że to wyjaśnia.
Proszę podać przykładowe dane i związane z nimi pożądanego rezultatu. –
Spróbuj użyć klauzuli "LIMIT". –
Czy mogę ograniczyć limit według najnowszej daty? – Jimbob