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 :

Créer un enregistrement à partir de données réparties dans quatre ?


Sujet :

Langage SQL

  1. #1
    Membre averti
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    Points : 341
    Points
    341
    Par défaut Créer un enregistrement à partir de données réparties dans quatre ?
    Bonjour,

    Comment créer un enregistrement à partir de données réparties dans quatre ?
    Soit une TABLE SQL TQUESTION dont la clé est constitué de deux champs
    TQ_CLE1 INT,
    TQ_CLE2 INT,

    Pour chaque clé unique TQ_CLE1 de la TABLE TQUESTION je souhaite créer une ligne dans la TABLE TRESULTAT.
    Avec les données exemples, je souhaite donc créer 4 lignes dans TRESULTAT.
    Chaque ligne dans TRESULTAT doit être constitué
    avec la valeur de TQ_OPEN de l'enregistrement de clé TQ_CLE2 = 1
    avec la valeur de TQ_CLOSE de l'enregistrement de clé TQ_CLE2 = 4

    Comment écrire cette requête ?

    Merci,

    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
    17
     
    CREATE TABLE TQUESTION
    (
       TQ_CLE1 INT,
       TQ_CLE2 INT,
       TQ_OPEN INT,
       TQ_HIGH INT,
       TQ_LOW INT,
       TQ_CLOSE INT
    );
     
    INSERT INTO TQUESTION VALUES {
              (1,1,100,200,300,500), (1,2,101,201,301,401), (1,3,102,202,302,402), (1,4,103,203,303,403), 
              (2,1,400,200,300,400), (2,2,101,201,301,401), (2,3,102,202,302,402), (2,4,203,203,303,453), 
              (3,1,500,200,300,200), (3,2,101,201,301,401), (3,3,102,202,302,402), (3,4,803,203,303,563), 
              (4,1,700,200,300,800), (4,2,101,201,301,401), (4,3,102,202,302,402), (4,4,503,203,303,783)
    };

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 101
    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 101
    Points : 28 398
    Points
    28 398
    Par défaut
    Dans quatre quoi ?

  3. #3
    Membre averti
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    Points : 341
    Points
    341
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Dans quatre quoi ?
    Dans quatres lignes de la TABLE RESULTAT
    puisqu'il y a 4 types de cle TQ_CLE1 dans mon exemple.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE RESULTAT
    (
       TQ_CLE1 INT,
       TQ_CLE2 INT,
       TQ_OPEN INT,
       TQ_HIGH INT,
       TQ_LOW INT,
       TQ_CLOSE INT
    );

  4. #4
    Membre averti
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    Points : 341
    Points
    341
    Par défaut
    Je crois avoir trouvé la réponse.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    DROP TABLE IF EXISTS TQUESTION;
    DROP TABLE IF EXISTS RESULTAT;
     
    CREATE TABLE TQUESTION
    (
       TQ_CLE1 INT,
       TQ_CLE2 INT,
       TQ_OPEN INT,
       TQ_HIGH INT,
       TQ_LOW INT,
       TQ_CLOSE INT
    );
     
    CREATE TABLE RESULTAT
    (
       TR_CLE1 INT,
       TR_CLE2 INT,
       TR_OPEN INT,
       TR_HIGH INT,
       TR_LOW INT,
       TR_CLOSE INT
    );
     
    INSERT INTO TQUESTION VALUES {
              (1,1,100,200,300,500), (1,2,101,201,301,401), (1,3,102,202,302,402), (1,4,103,203,303,403), 
              (2,1,400,200,300,400), (2,2,101,201,301,401), (2,3,102,202,302,402), (2,4,203,203,303,453), 
              (3,1,500,200,300,200), (3,2,101,201,301,401), (3,3,102,202,302,402), (3,4,803,203,303,563), 
              (4,1,700,200,300,800), (4,2,101,201,301,401), (4,3,102,202,302,402), (4,4,503,203,303,783)
    };
     
    INSERT INTO RESULTAT
    SELECT    *
    FROM TQUESTION
    WHERE  TQ_CLE2 = 1;
     
    UPDATE RESULTAT AS TR
    SET TR.TR_CLOSE  = (SELECT TQ.TQ_CLOSE  
                    FROM TQUESTION  AS TQ
                    WHERE  TQ.TQ_CLE1 =  TR.TR_CLE1 AND TQ.TQ_CLE2  = 4);

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 101
    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 101
    Points : 28 398
    Points
    28 398
    Par défaut
    Citation Envoyé par tintin92 Voir le message
    Je crois avoir trouvé la réponse.
    Tant mieux,
    parce que je n'ai toujours pas compris la question

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/11/2013, 15h39
  2. [XL-2007] Créer une liste de validation à partir de données contenues dans un autre fichier
    Par familledacp dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/10/2011, 18h03
  3. Réponses: 0
    Dernier message: 16/04/2010, 18h45
  4. Réponses: 11
    Dernier message: 18/01/2010, 11h29
  5. Réponses: 21
    Dernier message: 05/06/2006, 10h49

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