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 :

Requête avec jointure qui retourne null si pas de valeur


Sujet :

Langage SQL

  1. #1
    Membre habitué Avatar de jubourbon
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 540
    Points : 189
    Points
    189
    Par défaut Requête avec jointure qui retourne null si pas de valeur
    Bonjour,

    Je travaille sous Microsoft SQL 2008.
    Mon développement tourne autour de la création de projet. Chacun de ces projets possède une date de démarrage et une date de fin. Ces dates peuvent être modifiées et la modification de ces dates est historisée.

    Ma base comporte 3 tables:
    • Projet: IDProjet, NomProjet
    • DatesProjet: IDDate, ValeurDate, CreationDate
    • HistoProjetDate: IDHisto, IDProjet, IDDate, NomDate


    Avec les jointures entre ces 3 tables.

    Quand je fais cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Select DateDebut.ValeurDate as DateDebut,
    DateFin.ValeurDate as DateFin
    From
    (SELECT TOP(1)DatesProjet.ValeurDate, HistoDateProjet.IDProjet
    		FROM         DatesProjet  INNER JOIN
                 HistoDateProjet  ON DatesProjet.IDDate = HistoDateProjet.IDDateProjet
    		WHERE HistoDateProjet.NomDate='DateDebut'
    		order by CreationDate desc) as DateDebut,
    (SELECT TOP(1)DatesProjet.ValeurDate, HistoDateProjet.IDProjet
    		FROM         DatesProjet  INNER JOIN
                 HistoDateProjet  ON DatesProjet.IDDate = HistoDateProjet.IDDateProjet
    		WHERE HistoDateProjet.NomDate='DateFin'
    		order by CreationDate desc) as DateFin,
    Projet
    Where Projet.IDprojet=DateDebut.IDProjet and Projet.IDProjet=DateDebut.IDProjet
    Le résultat retourné est de type :
    datedebut datefin
    31/08/2011 02/09/2011

    En revanche quand le projet n'a pas encore de date de fin le résultat ne m'est pas retourné.

    Je souhaiterais que dans ce cas le résultat retourné soit du type :
    datedebut datefin
    31/08/2011 NULL

    J'ai fait quelques recherches sur internet sans succès.
    Comment puis je réaliser cela?

    D'avance merci.
    Les meilleures sauces de salade sont sur www.sauce-salade.com
    SpBreak la pause SharePoint: SP Break

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 783
    Points
    30 783
    Par défaut
    Utilisez une jointure externe...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre habitué Avatar de jubourbon
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 540
    Points : 189
    Points
    189
    Par défaut
    Merci
    Les meilleures sauces de salade sont sur www.sauce-salade.com
    SpBreak la pause SharePoint: SP Break

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

Discussions similaires

  1. Requête sql avec jointure qui ne fonctionne pas
    Par Damien062 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 10/03/2015, 09h18
  2. Grosse requête avec jointure qui ne s'exécute plus
    Par pitichamo dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/11/2013, 16h45
  3. Réponses: 11
    Dernier message: 15/09/2008, 10h25
  4. requête avec jointure qui renvoie des résultats bizarres
    Par Canari74 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 20/05/2008, 02h13
  5. Requete avec jointure qui marche pas
    Par gloubi dans le forum Langage SQL
    Réponses: 13
    Dernier message: 14/02/2008, 16h25

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