Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2012, 15h30   #1
Invité régulier
 
Inscription : juin 2009
Messages : 28
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 28
Points : 7
Points : 7
Par défaut Eliminer les doubles dans une requête

Bonjour à tous,

J'ai un site qui propose des sorties de toutes sortes (sportive, culturel, etc...).
Quand celle-ci est passé, elle est considérée comme une sortie faisant partie des archives.

Les sorties sont dans une seule et unique base de données.

Étant donné que il y a plus de sorties passées qu'a venir, j'ai décidé de regrouper les sorties passées par mois, et d'offrir la possibilité aux utilisateurs de les consultées de cette facon.

Quand on consulte les archives, si aucun paramètre n'est présent dans le URL c'est le mois en cours qui est affiché. Bref les sorties plus petites que la date actuelle.

La date de la sortie est gardée sous un format DATETIME

Dans la requête je dois avoir le mois et l'annee de la sortie, mais je ne veux pas les doubles. Donc en batissant mon menu déroulant pour les mois et années de sorties passées, je n'aurais pas à comparer si je l'ai déja fait.

Avez-vous une idée à quoi ma requête pourrait ressembler ?

Ma table s'appele SORTIE, et mon champ de la date et l'heure se nomme QUAND :-)

Merci
Sylvain
ConceptInterWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 10h28   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
J'ai l'impression que tu confonds le processus de consultation des données considérées comme des archives et le maintien de leur stockage réel en BDD.

Citation:
j'ai décidé de regrouper les sorties passées par mois, et d'offrir la possibilité aux utilisateurs de les consulter de cette facon.
Tu veux dire que tu veux afficher un tableau avec les sorties d'un mois que l'utilisateur aura préalablement choisi dans une liste contenant tous les mois comprenant des sorties ?

Citation:
Quand on consulte les archives, si aucun paramètre n'est présent dans le URL c'est le mois en cours qui est affiché. Bref les sorties plus petites que la date actuelle.
Sauf que si nous sommes par exemple le 2 février 2012, Le moi sen cours, c'est février et il peut y avoir des sorties du mois de février mais programmées entre le 3 et le 29 février. Ta notion de "mois en cours" est donc à préciser.

Citation:
Dans la requête je dois avoir le mois et l'annee de la sortie, mais je ne veux pas les doubles. Donc en batissant mon menu déroulant pour les mois et années de sorties passées, je n'aurais pas à comparer si je l'ai déja fait.
Tu ne veux que le mois et l'année dans un premier temps à partir de la date de type DATETIME ?
Il te faut utiliser les fonctions de date et le mot clé DISTINCT.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h51.


 
 
 
 
Partenaires

Hébergement Web