Hent sidste værdi fra joined table incl. group by & sub query
Uanset hvordan jeg vender og drejer det, så kan jeg simpelthen ikke vise alle Cat_Name og under Cat_Name vil jeg så gerne have vist seneste indsat topic fra den joined tabel topics.
Joined tabel: topics _________________________ Topic_ID Topic_Name Cat_ID
Mit seneste forsøg: SELECT * FROM (SELECT c.Cat_ID, c.Cat_Name, t.Topic_ID, t.Topic_Date, t.Topic_Name, t.Cat_ID FROM categories AS c LEFT JOIN topics AS t ON t.Cat_ID=c.Cat_ID ORDER BY t.Topic_ID DESC) AS sub GROUP BY sub.Cat_ID ORDER BY sub.Cat_ID DESC
SELECT * FROM (SELECT c.Cat_ID, c.Cat_Name, t.Topic_ID, t.Topic_Date, t.Topic_Name FROM categories AS c LEFT JOIN topics AS t ON c.Cat_ID=t.Cat_ID ORDER BY t.Topic_ID DESC) AS sub GROUP BY sub.Cat_ID ORDER BY sub.Cat_ID DESC
SELECT categories.cat_name, t1.topic_name FROM categories JOIN topics t1 ON categories.cat_id = t1.cat_id WHERE t1.topic_id IN (SELECT MAX(t2.topic_id) FROM topics t2 WHERE t2.topic_id = t1.topic_id)
SELECT categories.cat_name, t1.topic_name FROM categories JOIN topics t1 ON categories.cat_id = t1.cat_id WHERE t1.topic_id = (SELECT MAX(t2.topic_id) FROM topics t2 WHERE t2.cat_id = t1.cat_id)
Gik den lige efter igen og den virker. Dvs. den trækker data ud, men den lister alt fra categories, hvor den f.eks kun burde liste ét fra "Generelt": https://ibb.co/kUDTjf
SELECT a.Cat_Name, tt.Topic_Name FROM (SELECT Cat_ID, Cat_Name, MAX(Topic_ID) as maxx FROM topics AS t LEFT JOIN categories AS c USING (Cat_ID) GROUP BY Cat_ID) AS a LEFT JOIN topics AS tt ON (a.maxx=tt.Topic_ID)
Det virker! :-) Har du mulighed for at tilføje sorting fra categories med Cat_Sorting & den skal tage categories med, hvor der ingen topics er (Altså Null fra Topics)?
Dem uden Topics burde i princippet kunne fanges ved at skifte fra LEFT JOIN til RIGHT OUTER JOIN.
Sortering kan klares med en ORDER BY...
Har ikke lige tid til at teste og finpudse det nu
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.