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 :

Problème comparaison sql


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Problème comparaison sql
    Bonjour. Je suis débutant en langage SQL et j'ai un problème avec une requête.

    En effet j'ai une variable @last_edit qui contient une valeur de type datetime.
    J'ai une table "ouverture_machine" avec 2 colonnes DateDebut (type datetime) et DateFin(type datetime).

    Je désire effectuer une comparaison pour savoir si la valeur de ma variable @last_edit est comprise entre DateDebut et DateFin pour l'ensemble des lignes de la table "ouverture_machine".

    Ensuite je souhaite effectuer d'autre requête suivant le résultat de la comparaison.

    Pouvez-vous m'aider svp?

  2. #2
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Citation Envoyé par tomdu73 Voir le message
    Je désire effectuer une comparaison pour savoir si la valeur de ma variable @last_edit est comprise entre DateDebut et DateFin pour l'ensemble des lignes de la table "ouverture_machine".
    Bonjour,

    Tu devrais regarder du côté du BETWEEN.

    Et profites-en pour regarder les cours SQL ça reste la base ça.
    Personnellement 90% de mes intérrogations ont été résolues avec ces cours.

    P.S : pense à indiquer ton SGBD.
    ~ Lola ~

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour.
    Désolé pour la réponse tardive.
    D'après ce que j'ai pu voir, BETWEEN permet d'évaluer si une donnée est comprise entre une valeur unique et une autre valeur unique.
    Pour mon cas, j'essaye d'effectuer une recherche pour savoir si une donnée (Une date) est comprise dans plusieurs intervalles de valeur (En provenance d'une table constituée d'une colonne DateDebut et d'une colonne DateFin).

    Je ne sais pas si c'est plus clair ...

    PS: J'utilise Microsoft SQL SERVER 2005

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Citation Envoyé par tomdu73 Voir le message
    D'après ce que j'ai pu voir, BETWEEN permet d'évaluer si une donnée est comprise entre une valeur unique et une autre valeur unique.
    Non pas nécessairement unique, vous pouvez y mettre des colonnes.
    Si j'ai compris votre problème, vous devriez pouvoir vous appuyer sur ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select count(*) as nb_lignes
         , count(case when @last_edit between DateDebut and DateFin then 1 end) as nb_lignes_last_edit
      from ouverture_machine

  5. #5
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Citation Envoyé par tomdu73 Voir le message
    Pour mon cas, j'essaye d'effectuer une recherche pour savoir si une donnée (Une date) est comprise dans plusieurs intervalles de valeur (En provenance d'une table constituée d'une colonne DateDebut et d'une colonne DateFin).

    Je ne sais pas si c'est plus clair ...
    Je ne comprend pas en quoi ma solution n'est pas bonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE MaDate BETWEEN DateDebut AND DateFin
    Pourrais-tu mettre un jeu de données ?

    EDIT : trop longue...
    ~ Lola ~

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Non pas nécessairement unique, vous pouvez y mettre des colonnes.
    Si j'ai compris votre problème, vous devriez pouvoir vous appuyer sur ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select count(*) as nb_lignes
         , count(case when @last_edit between DateDebut and DateFin then 1 end) as nb_lignes_last_edit
      from ouverture_machine
    Ta requête fonctionne pour mon cas.

    Merci beaucoup!

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

Discussions similaires

  1. Problème requete SQL
    Par tonyskn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2004, 20h37
  2. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  3. Problème réplication SQL Server et SQL Server CE (RDA)
    Par didix11 dans le forum Réplications
    Réponses: 2
    Dernier message: 15/04/2004, 11h10
  4. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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