Code : Tout sélectionner
SELECT m. *
FROM message m LEFT JOIN sujets s
ON m.id_sujet = s.id_sujet
WHERE m.id_sujet IN (
SELECT MAX( id_sujet ) FROM message GROUP BY id_sujet
)
Code : Tout sélectionner
SELECT t . * , MAX( m.id ) , m.message
FROM administrateurs AS a, tickets AS t, messages AS m
WHERE a.niveau = '1'
AND a.etat = '1'
AND t.etat = '1'
AND t.id = m.id_ticket
GROUP BY t.id
LIMIT 0 , 30
Code : Tout sélectionner
SELECT t.*,m.id,m.message FROM administrateurs As a, tickets As t, messages As m WHERE a.niveau='1' AND a.etat='1' AND t.etat='1' AND t.id=m.id_ticket AND m.id= (SELECT MAX(m.id) FROM messages As m, tickets As t WHERE t.id=m.id_ticket GROUP By m.id)Oui, forcément ça peut marcher de cette façon. Tu peux filer un petit jeu d'essai que je tente ma chance dans ma base MySQL de test?Idem, ça me renvoi plusieurs champs donc bai*é...Code : Tout sélectionner
SELECT t.*,m.id,m.message FROM administrateurs As a, tickets As t, messages As m WHERE a.niveau='1' AND a.etat='1' AND t.etat='1' AND t.id=m.id_ticket AND m.id= (SELECT MAX(m.id) FROM messages As m, tickets As t WHERE t.id=m.id_ticket GROUP By m.id)
Code : Tout sélectionner
SELECT t.*, m.id, m.message
FROM administrateurs As a, tickets As t, messages As m
WHERE a.niveau='1'
AND a.etat='1'
AND t.etat='1'
AND t.id=m.id_ticket
AND m.id= (SELECT MAX(m.id) FROM messages n WHERE n.id=t.id)
GROUP BY t.idAlors là il y a une forte odeur de boulettisation de ma part... je crois que je me suis embrouillé dans les alias de la requête imbriquée:Non, toujous pas... la requête bien mais seulement ceux où l'id de ticket ) l'id du message.
Code : Tout sélectionner
SELECT t.*, m.id, m.message
FROM administrateurs As a, tickets As t, messages As m
WHERE a.niveau='1'
AND a.etat='1'
AND t.etat='1'
AND t.id=m.id_ticket
AND m.id= (SELECT MAX(n.id) FROM messages n WHERE n.id_ticket=t.id)
GROUP BY t.id