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 :

Besoin d'une lumière :)


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut Besoin d'une lumière :)
    Bonsoir,
    J'ai besoin que vous m’éclairez car je ne sais pas comment faire...voilà j'ai une base de données avec plusieurs tables et je voudrais fusionner deux tables pour n'en faire qu'une et faire ma requête sur celle ci. Je vais m'expliquer:

    table1 avec comme champs (id, date, heure, temperature, volume,...)
    table1 avec comme champs (id, date, heure, duree_pompe)
    je voudrai qu'une 3 table soit créée en reprenant dedans toutes les valeurs des deux tables précédentes.

    J'ai réussi à faire une requête avec une jointure mais le truc c'est qu'elle m'affiche que les données dont l'heure et la date sont les mêmes donc si par exemple pour le 21/04/2011 à 13:00:00 j'ai des données pour tous les champs de la table1 mais pas de données pour la table2 elle me l'affiche pas alors que je voudrais que ma requête créée soit une nouvelle table avec toute les données et quand il n'y en à pas pour un champ elle me met NULL ou rien...

    J'espère que vous m'auriez compris
    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    J'espère que vous m'auriez compris
    En fait non.
    Si tu nous donnais un exemple avec le contenu de table1 et table2.
    Et de ce que tu veux en sortie, sur quel critère, dans quelle condition
    Parce que là tu nous as donné la structure de table1, et de table1
    et pas leur contenu.
    Veux tu obligatoirement peupler une nouvelle table, ou veux tu juste le résultat de l'opération entre table1 et table2.

    a+
    Soazig

  3. #3
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 218
    Points : 28 168
    Points
    28 168
    Par défaut
    En gros tu veux faire une union

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT id, date, heure, temperature, volume, NULL as duree_pompe
    FROM Table1
    UNION
    SELECT id, date, heure, NULL as temperature, NULL as volume, duree_pompe
    FROM Table2

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Déjà merci pour vos réponses et désolé pour le retard je n'avais plus internet !!!
    J'ai essayé l'union mais ça ne fonctionne pas voilà en gros ce que j'ai:

    TABLE1
    ID DATE HEURE TEMP_AMB TEMP_EXT VOLUME
    01 21/12/2010 12:30:00 13,2 4,5 23,03
    02 21/12/2010 12:45:00 13,1 4,6 23,08
    03 21/12/2010 13:00:00 13,1 4,7 23,11
    04 21/12/2010 13:15:00 13,1 4,7 23,15

    TABLE2
    ID DATE HEURE DUREE
    01 21/12/2010 12:30:00 879
    02 21/12/2010 12:45:00 1023
    03 21/12/2010 13:15:00 1290


    Je voudrai avoir cette table par une requête

    TABLE
    ID DATE HEURE TEMP_AMB TEMP_EXT VOLUME DUREE
    01 21/12/2010 12:30:00 13,2 4,5 23,03 879
    02 21/12/2010 12:45:00 13,1 4,6 23,08 1023
    03 21/12/2010 13:00:00 13,1 4,7 23,11
    04 21/12/2010 13:15:00 13,1 4,7 23,15 1290



    J'espère que vous avez mieux compris ce que je cherche à faire
    Merci

  5. #5
    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,

    Il faut faire une jointure externe :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT 
        T1.id, 
        T1.Date, 
        T1.Heure, 
        T1.TEMP_AMB, 
        T1.TEMP_EXT, 
        T1.Volume,
        T2.Duree
    FROM Table1 T1
    LEFT OUTER JOIN Table2 T2 
        ON T1.Date = T2.Date
        AND T1.Heure = T2.Heure

    S'il est également possible d'avoir des heures dans T2 qui ne sont pas dans T1, faites

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT 
        COALESCE(T1.id, T2.id) AS Id, 
        COALESCE(T1.Date, , T2.Date) AS Dte
        COALESCE(T1.Heure, T2.Heure) AS Heure
        T1.TEMP_AMB, 
        T1.TEMP_EXT, 
        T1.Volume,
        T2.Duree
    FROM Table1 T1
    FULL OUTER JOIN Table2 T2 
        ON T1.Date = T2.Date
        AND T1.Heure = T2.Heure

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Merci beaucoup beaucoup aieeeuuuuu super ça marche niquel

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

Discussions similaires

  1. Une débutante a besoin de vos lumières
    Par lisa19300 dans le forum Flash
    Réponses: 12
    Dernier message: 28/02/2009, 18h32
  2. Besoin d'une lumière s.v.p.
    Par elafreniere dans le forum Langage
    Réponses: 1
    Dernier message: 13/04/2008, 11h14
  3. Question sur les regex, besoin d'une lumière
    Par Cladjidane dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/03/2007, 12h28
  4. Vocabulaire : besoin de vos lumières...
    Par SteelBox dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 27/02/2004, 13h25
  5. Réponses: 5
    Dernier message: 20/11/2003, 16h36

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