IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

ORDER BY et DATE_FORMAT


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 15
    Points
    15
    Par défaut ORDER BY et DATE_FORMAT
    Salut!

    J'essaye en vain d'organiser les résultats d'une requête selon la date rentrée en base mais sans succès...
    Pour l'instant ma requête ressemble à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT fr_titre, DATE_FORMAT(vente_date_vente.date_debut_vente, '%Y') AS annee_debut_vente 
    FROM vente, vente_date_vente 
    WHERE vente.id_vente = '".$id_fichier."' 
    AND vente_date_vente.id_vente = '".$id_fichier."' 
    ORDER BY annee_debut_vente DESC
    je fais ma requête dans 2 tables, vente qui contient entre autres fr_titre, et vente_date_vente qui contient date_debut_vente.

    Quelqu'un aurait une idée svp?

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Tu devrais faire une jointure entre les deux tables, plutôt que de mettre une double condition dans le WHERE.
    En supposant que, comme il se devrait, id_vente est de type entier, inutile de mettre la valeur cherchée entre apostrophes.
    Enfin, si, comme il se devrait, date_debut_vente est de type DATE ou DATETIME, utilise plutôt EXTRACT que DATE_FORMAT pour avoir l'année.

    Ta requête deviendrait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT fr_titre, 
      EXTRACT(YEAR FROM vente_date_vente.date_debut_vente) AS annee_debut_vente 
    FROM vente
    INNER JOIN vente_date_vente ON vente.id_vente = vente_date_vente.id_vente
    WHERE vente.id_vente = ".$id_fichier."
    ORDER BY annee_debut_vente DESC

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    ok merci!
    mais du coup j'ai un problème avec les résultats, ils se traitent différemment avec ce genre de requêtes?

    j'ai des :
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

    lorsque je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $resultat = mysql_query($requete);
    $nombre_de_ligne2 = mysql_num_rows($resultat);
    echo $resultat;
    while ($tableau = mysql_fetch_array($resultat)){ 
         $nom_vente= $tableau['fr_titre'];
         $date= $tableau['annee_debut_vente'];
    }

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    j'ai rien dit! j'avais fait une erreur de nommage de variable!

    merci pour tout!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire un order by date après un DATE_FORMAT
    Par lodan dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/04/2007, 15h53
  2. order by sur plusieurs tables
    Par Mad_Max dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/12/2003, 12h17
  3. Probleme avec un "order by"
    Par LineLe dans le forum ASP
    Réponses: 30
    Dernier message: 16/09/2003, 15h38
  4. ORDER BY
    Par mythtvtalk.com dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 11/07/2003, 11h56
  5. ORDER BY dans un ordre inhabituel
    Par Riam dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/03/2003, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo