voila. donc j'ai evidement plusieurs evenements par fichier.
ce que je cherche a faire c'est récupérer les 20 derniers fichiers ayant eu
un evenement...
un truc genre
SELECT fichier.* FROM fichier INNER JOIN file_event ON fichier.idfichier =
file_event.idfichier ORDER BY date_event LIMIT 20;
seulement voila, si j'ai deux evenement sur un meme fichier, ce fichier sort
deux fois, ce qui n'est pas terrible.
voila. donc j'ai evidement plusieurs evenements par fichier. ce que je cherche a faire c'est récupérer les 20 derniers fichiers ayant eu un evenement... un truc genre SELECT fichier.* FROM fichier INNER JOIN file_event ON fichier.idfichie r = file_event.idfichier ORDER BY date_event LIMIT 20;
seulement voila, si j'ai deux evenement sur un meme fichier, ce fichier sort deux fois, ce qui n'est pas terrible.
merci. Etienne
Salut,
un "SELECT DISTINCT fichier.* ..." ?
Manu
Etienne SOBOLE a fait part de :
salut.
j'ai dans une base de donnée des fichies Fichier et des evenements su r ces
fichies
en gros ca donne
voila. donc j'ai evidement plusieurs evenements par fichier.
ce que je cherche a faire c'est récupérer les 20 derniers fichiers ayant eu
un evenement...
un truc genre
SELECT fichier.* FROM fichier INNER JOIN file_event ON fichier.idfichie r =
file_event.idfichier ORDER BY date_event LIMIT 20;
seulement voila, si j'ai deux evenement sur un meme fichier, ce fichier sort
deux fois, ce qui n'est pas terrible.
voila. donc j'ai evidement plusieurs evenements par fichier. ce que je cherche a faire c'est récupérer les 20 derniers fichiers ayant eu un evenement... un truc genre SELECT fichier.* FROM fichier INNER JOIN file_event ON fichier.idfichie r = file_event.idfichier ORDER BY date_event LIMIT 20;
seulement voila, si j'ai deux evenement sur un meme fichier, ce fichier sort deux fois, ce qui n'est pas terrible.
merci. Etienne
Life is just an illusion
Un petit DISTINCT devrais faire l'affaire non ?
--
"Etienne SOBOLE" a écrit dans le message de news:41a1d23a$0$11062$
salut.
j'ai dans une base de donnée des fichies Fichier et des evenements sur ces fichies en gros ca donne
voila. donc j'ai evidement plusieurs evenements par fichier. ce que je cherche a faire c'est récupérer les 20 derniers fichiers ayant
eu
un evenement... un truc genre SELECT fichier.* FROM fichier INNER JOIN file_event ON fichier.idfichier > file_event.idfichier ORDER BY date_event LIMIT 20;
seulement voila, si j'ai deux evenement sur un meme fichier, ce fichier
sort
deux fois, ce qui n'est pas terrible.
merci. Etienne
Un petit DISTINCT devrais faire l'affaire non ?
--
"Etienne SOBOLE" <etienne-nospam@tlk.fr> a écrit dans le message de
news:41a1d23a$0$11062$636a15ce@news.free.fr...
salut.
j'ai dans une base de donnée des fichies Fichier et des evenements sur ces
fichies
en gros ca donne
voila. donc j'ai evidement plusieurs evenements par fichier.
ce que je cherche a faire c'est récupérer les 20 derniers fichiers ayant
eu
un evenement...
un truc genre
SELECT fichier.* FROM fichier INNER JOIN file_event ON fichier.idfichier > file_event.idfichier ORDER BY date_event LIMIT 20;
seulement voila, si j'ai deux evenement sur un meme fichier, ce fichier
voila. donc j'ai evidement plusieurs evenements par fichier. ce que je cherche a faire c'est récupérer les 20 derniers fichiers ayant
eu
un evenement... un truc genre SELECT fichier.* FROM fichier INNER JOIN file_event ON fichier.idfichier > file_event.idfichier ORDER BY date_event LIMIT 20;
seulement voila, si j'ai deux evenement sur un meme fichier, ce fichier
sort
deux fois, ce qui n'est pas terrible.
merci. Etienne
Etienne SOBOLE
"Life is just an illusion" a écrit dans le message de news: 41a1deae$0$9081$
Un petit DISTINCT devrais faire l'affaire non ?
non.
un DISTINCT indique: ERROR: For SELECT DISTINCT, ORDER BY expressions must appear in target list
Ce qui en gros me force a mettre la date dans le select et donc ne resoud pas le probleme... Etienne
"Life is just an illusion" <darkangel@ft.fr> a écrit dans le message de
news: 41a1deae$0$9081$8fcfb975@news.wanadoo.fr...
Un petit DISTINCT devrais faire l'affaire non ?
non.
un DISTINCT indique:
ERROR: For SELECT DISTINCT, ORDER BY expressions must appear in target list
Ce qui en gros me force a mettre la date dans le select et donc ne resoud
pas le probleme...
Etienne
Ce qui en gros me force a mettre la date dans le select et donc ne resoud pas le probleme... Etienne
Donc ta requete n est pas celle que tu indiques ?
Manu
Etienne SOBOLE
"Manu Pavy" a écrit dans le message de news: cnsp13$sun$
Donc ta requete n est pas celle que tu indiques ?
ben si, c'est juste qu'il ne veut pas d'un DISTINCT si je ne lui met pas le date_event dans la liste du SELECT.
finalement j'ai trouvé la solution:
SELECT fichier.idfichier, fichier.nom FROM fichier INNER JOIN event ON fichier.idfichier = event.idfichier GROUP BY fichier.idfichier, fichier.nom ORDER BY max(date_event) DESC, idfichier DESC LIMIT 20;
l'idée est donc de trouvé le plus récent evènement pour chaque fichier. voila. c'etait moins compliqué que je n'ai cru au départ.
Etienne
"Manu Pavy" <Manuel.Pavy@onecert.fr> a écrit dans le message de news:
cnsp13$sun$1@news.cict.fr...
Donc ta requete n est pas celle que tu indiques ?
ben si, c'est juste qu'il ne veut pas d'un DISTINCT si je ne lui met pas le
date_event dans la liste du SELECT.
finalement j'ai trouvé la solution:
SELECT fichier.idfichier, fichier.nom FROM fichier INNER JOIN event ON
fichier.idfichier = event.idfichier GROUP BY fichier.idfichier, fichier.nom
ORDER BY max(date_event) DESC, idfichier DESC LIMIT 20;
l'idée est donc de trouvé le plus récent evènement pour chaque fichier.
voila. c'etait moins compliqué que je n'ai cru au départ.
"Manu Pavy" a écrit dans le message de news: cnsp13$sun$
Donc ta requete n est pas celle que tu indiques ?
ben si, c'est juste qu'il ne veut pas d'un DISTINCT si je ne lui met pas le date_event dans la liste du SELECT.
finalement j'ai trouvé la solution:
SELECT fichier.idfichier, fichier.nom FROM fichier INNER JOIN event ON fichier.idfichier = event.idfichier GROUP BY fichier.idfichier, fichier.nom ORDER BY max(date_event) DESC, idfichier DESC LIMIT 20;
l'idée est donc de trouvé le plus récent evènement pour chaque fichier. voila. c'etait moins compliqué que je n'ai cru au départ.