Bonjour : je bloque sur une requête compliquée pour moi.
La table est donc une table de messages statut tel que ci dessous.
Tout est du date time sauf les min_id et max_id en int(11)min_id max_id min_date max_date min_last max_last message_last 2 3 date... date... date... date... date... 3 45 date... date... date... date... date... 2 102 date... date... date... date... date... 1 3 date... date... date... date... date...
Ce que je voudrais c'est récupérer (en imaginant que je suis le user 3) tous les identifiants des personnes (donc 2,45,102,1) ou le message_last et supérieur aux max_date (ou min_date suivant si notre id(3) est en min ou max) .
J'ai commencé par écrire cela mais je n'en vois pas le bout c'est archi faux lol si quelqu'un a une idée merci : (index compris si possible ^^)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT a.min_id as a_min,a.max_id as a_max,b.min_id as b_min,b.max_id as b_max FROM pax_messages_stt a,pax_messages_stt b WHERE ((a.min_id='".$_SESSION['log_id']."') OR (b.max_id='".$_SESSION['log_id']."')) AND ((a.message_last>a.min_date) OR (a.message_last>b.max_date)) ORDER BY a.message_last DESC LIMIT 3";
Partager