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 sur 2 types de dates


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 455
    Points : 109
    Points
    109
    Par défaut order by sur 2 types de dates
    Bonjour,

    J'ai une requête sql et je dois affiché deux type de date
    date d'arrivé et date de départ mais ce qui m’intéresse c'est les dates du jours.

    Pour exemple aujourd'hui on est le 11.03.2019

    Donc je veux sortir toute les date d'arrivé et de sortie qui sont du 11.03.2019, mais dans l'ordre croissant mélangé arrivé départ

    mais dans ma requête actuelle j'ai ordre croissant arrivé mais pas départ.

    je voudrais savoir comment mie prendre car là je ne voit pas trop

    Ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT * 
    FROM  `reservations` 
    WHERE (
    `date_of_arrival` LIKE  '2019-03-11%'
    OR  `date_of_departure` LIKE  '2019-03-11%'
    )
    AND  `payment_status` LIKE  'completed'
    ORDER BY  `reservations`.`date_of_arrival` ASC ,  `reservations`.`date_of_departure` ASC
    mais mon résultat est le suivant
    date_arrivé date_sortie
    23.02.2019 09:00 11.03.2019 08:00
    27.02.2019 12:00 11.03.2019 20:00
    01.03.2019 13:00 11.03.2019 12:00
    07.03.2019 11:00 11.03.2019 17:15
    08.03.2019 15:00 11.03.2019 15:00
    08.03.2019 15:00 11.03.2019 16:30
    08.03.2019 15:30 11.03.2019 08:15
    08.03.2019 17:00 11.03.2019 22:15
    09.03.2019 04:00 11.03.2019 19:00
    09.03.2019 07:45 11.03.2019 20:15
    11.03.2019 05:00 11.03.2019 22:15
    11.03.2019 05:00 14.03.2019 23:00
    11.03.2019 06:45 14.03.2019 12:00
    11.03.2019 08:00 18.03.2019 17:00
    11.03.2019 09:15 22.03.2019 21:15
    11.03.2019 11:30 22.03.2019 13:00
    11.03.2019 13:30 15.03.2019 23:00
    11.03.2019 15:30 22.03.2019 18:30
    11.03.2019 16:30 14.03.2019 17:30
    alors que moi je voudrais cette ordre
    date_arrivé date_sortie
    11.03.2019 05:00 11.03.2019 22:15
    11.03.2019 05:00 14.03.2019 23:00
    11.03.2019 06:45 14.03.2019 12:00
    11.03.2019 08:00 18.03.2019 17:00
    23.02.2019 09:00 11.03.2019 08:00
    08.03.2019 15:30 11.03.2019 08:15
    11.03.2019 09:15 22.03.2019 21:15
    11.03.2019 11:30 22.03.2019 13:00
    01.03.2019 13:00 11.03.2019 12:00
    11.03.2019 13:30 15.03.2019 23:00
    08.03.2019 15:00 11.03.2019 15:00
    11.03.2019 15:30 22.03.2019 18:30
    11.03.2019 16:30 14.03.2019 17:30
    08.03.2019 15:00 11.03.2019 16:30
    07.03.2019 11:00 11.03.2019 17:15
    09.03.2019 04:00 11.03.2019 19:00
    27.02.2019 12:00 11.03.2019 20:00
    09.03.2019 07:45 11.03.2019 20:15
    08.03.2019 17:00 11.03.2019 22:15
    Si quelqu'un peut m'aider ce serait super gentille car là je bug j'imagine bien que c'est pas une requête qui résoudra mon problème mais du coups c'est quoi ?

    Merci d'avance de votre aide

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    vous pouvez faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY CASE WHEN `date_of_arrival` LIKE  '2019-03-11%' THEN `date_of_arrival` ELSE `date_of_departure` END

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 455
    Points : 109
    Points
    109
    Par défaut
    Merci c'est juste parfait.

    J'avais pas pensé à ça comme quoi quant on regard un arbre on oublie de voir la forêt

    Encore merci

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    Bonjour,

    vous pouvez faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY CASE WHEN `date_of_arrival` LIKE  '2019-03-11%' THEN `date_of_arrival` ELSE `date_of_departure` END
    Un like sur une date ! bravo la merde....

    a +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/09/2010, 15h11
  2. Travailler sur un type date MySQL
    Par afrodje dans le forum Langage
    Réponses: 8
    Dernier message: 18/11/2008, 16h04
  3. Calcul d'un écart-type sur une série de dates
    Par Emilie MARQUOIS-OGEZ dans le forum Excel
    Réponses: 6
    Dernier message: 30/10/2007, 14h56
  4. ORDER BY sur type VARCHAR
    Par ep31 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 05/10/2007, 15h20
  5. [Oracle 9i] contrainte CHECK sur le type date
    Par zchallal dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/06/2006, 11h34

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