cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009
-
29 mars 2006 à 02:25
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009
-
31 mars 2006 à 21:24
Voici la coupable :
SELECT `id`
FROM `omcf_visa`
WHERE ( 0 )
OR `id` = (
SELECT `id`
FROM `omcf_visa`
WHERE `nom` = 'un'
ORDER BY `date_soum` DESC
LIMIT 1 )
OR `id` = (
SELECT `id`
FROM `omcf_visa`
WHERE `nom` = 'deux'
ORDER BY `date_soum` DESC
LIMIT 1 )
...(et ca continue pareil)
J'ai mis en gras la partie importante. En effet, en local ca marche et pas en distant. J'ai bien pensé à une histoire de version du seveur SQL mais ma requete est on ne peut plus basic (voir peut etre trop ^^).
Vous auriez une idée pour trouver l'erreur ou alors m'en suggerer une autre (je pas très doué avec mysql ). Je veux recuperer l'id du champ le plus recent pour chaque personne (date_soum est une date).
Merci d'avance
ps: si vous avez un bon tutorial sur mysql je prends aussi, petit à petit je découvre de nouvelles possibilités mais un jour au l'autre faudra bien que j'apprenne à l'utiliser (faut reconnaitre que c'est nettement plus rapide que php pour certain trucs).
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009 29 mars 2006 à 14:24
{il arrive une heure ou on ne sait plus bien s'il convient de dire bonjour ou bonne nuit =)}
En effet, j'ai testé en décomposant moi-même la requete et ça passe... mais en même temps ça ne m'avance pas plus de savoir ça ^^
Pour faire ce que je veux, j'ai pas d'autres solutions ? Je suis avec php mais ça ferait trop de requete d'en faire une par individu.
Même si vous n'avez que des pistes (des mots clefs en vrac qui pourrait fonctionner), je prends aussi
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 29 mars 2006 à 22:37
Ok, ok, j'en demande pas tant :o)
Je voudrais juste voir un exemple de ce que tu as au début et de ce que tu veux à la fin, genre :
J'ai :
Kbz, 2
AlbertdeMontosl, 0
Eoen, 0
Je veux :
Kbz, 2
Eoen, 0
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009 29 mars 2006 à 23:10
ok , donc j'ai :
| ID | nom | datesum | | 01 | un | 2005-04-12 14:09:02 | | 02 | deux | 2005-08-12 10:11:51 | | 03 | un | 2006-09-12 15:10:56 | | 04 | trois | 2005-10-01 09:16:04 | //je mets 'un', 'deux' pour que ce soit plus simple, ce sont des vrais noms dans la vraie table
Je veux pour certains de ces noms la dernière valeure ajoutée (je veux 'un' et 'deux' on va dire), donc :
| ID | | 02 |
| 03 |
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009 31 mars 2006 à 21:24
ch'ui bete, je rajoute juste un "where nom='un' or where nom='deux'" et ça marche
Merci
Et juste en complement, au cas où je voudrai imperativement comparer la date (et pas l'id), je peux faire SELECT id,MAX(date_soum) ? (et une dernière en plus après j'arrete, est-ce que l'id est forcement incrementé au dessus à chaque fois ou il peut arrive qu'il "complete les blancs" ?)