Trier des doublons dans les resultats d'une requete SQL

Petit nouveau ! | 6 Messages

29 sept. 2008, 10:49

Salut!

Je suis en train de faire un module qui affiche des événements (nom,date,type,lieu...) et je rencontre un petit problème avec le tri.
Quand j'ai 2 évènements dans le même lieu à la même date je dois garder celui du type 'special' et ignorer celui de type 'regular'

Je pense faire :

- une requête de tous les évènements avec une date >= aujourd'hui triés par date puis par lieu (en SQL)

- un parcours des résultats pour remplir un tableau $displayTab[] en testant si la date est la même que sur l'élément précédent et si le lieu aussi alors on ajoute l'élément de type special. (si les résultats de la requète ne sont pas bien triés par SQL je pense que ça ne marche pas...)

- un parcours du $displayTab[] pour afficher le éléments.

Avez-vous un moyen plus simple et/ou plus performant ?

Un grand merci d'avance!

Eléphant du PHP | 185 Messages

29 sept. 2008, 11:12

1) Une requête de tous les évènements avec une date >= aujourd'hui triés par date puis par lieu, puis par type (spécial en premier, le reste après) (en SQL).

2) Un parcours direct des résultats afficher les éléments en testant si la date et le lieu est la même que l'élément précédent, cas dans lequel on ignore l'élément.

Invité
Invité n'ayant pas de compte PHPfrance

29 sept. 2008, 22:54

Merci de ta réponse :D
1) Une requête de tous les évènements avec une date >= aujourd'hui triés par date puis par lieu, puis par type (spécial en premier, le reste après) (en SQL).
Comment peut-on en SQL faire en sorte que special apparaisse en premier ds les resultats ?

Merci

Eléphant du PHP | 185 Messages

30 sept. 2008, 11:01

Je sais pas, t'as pas des ID pour les types ? Tu n'écris pas le type directement dans la table, si ?