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

Requêtes et SQL. Discussion :

Insertion avec select multiples et valeurs statiques multiples


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Insertion avec select multiples et valeurs statiques multiples
    Bonjour, je bloque depuis le début de la matinée sur un problème et je n'arrive pas à trouver de solution, je me tourne donc vers vous

    Alors voila j'aimerais faire un insert dans ma base de données mais les valeurs à insérer peuvent être statiques ou provenir de requête.

    Voici ma requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into CF_PARTICIPATION (PARN_NUM, ACT_NUM, PART_DUREE, PART_DATE, PART_NUM_RECU, EVE_NUM) values (0, (select ACT_NUM from CF_ACTIVITE where ACT_LIBELLE like 'mon activité'), (select EVE_DUREE from CF_EVENEMENT where EVE_NUM=1), '2016-05-04', 'mon num recu', '1')
    le problème réside dans le fait que il y'ai à la fois plusieurs select, et plusieurs valeurs statiques, j'ai trouvé quelques solutions mais aucunes d'elles ne permettait d'insérer plusieurs valeurs statiques et plusieurs valeurs issues de requêtes.

    Merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    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 099
    Points : 28 405
    Points
    28 405
    Par défaut
    Quelque chose comme ça :
    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
    insert into CF_PARTICIPATION
        (   PARN_NUM
        ,   ACT_NUM
        ,   PART_DUREE
        ,   PART_DATE
        ,   PART_NUM_RECU
        ,   EVE_NUM
        )
    select  0
        ,   ACT.ACT_NUM
        ,   EVT.EVE_DUREE
        ,   '2016-05-04'
        ,   'mon num recu'
        ,   '1'
    from    CF_ACTIVITE     ACT
        cross join
            CF_EVENEMENT    EVT
    where   ACT.ACT_LIBELLE = 'mon activité'
        and EVT.EVE_NUM = 1
    ;
    Au passage, on utilise l'opérateur LIKE lorsqu'on compare une chaine de caractères avec un modèle (avec les caractères jocker % ou _). Pour une comparaison de chaine simple, on utilise l'opérateur =.
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonjour et merci pour votre réponse grâce à vous j'ai réussi mon insert, je partage ma solution pour les personnes qui pourraient être intéressées.

    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
    Insert into CF_PARTICIPATION
     ( PARN_NUM,
       ACT_NUM, 
       PART_DUREE, 
       PART_DATE, 
       PART_NUM_RECU, 
       EVE_NUM
       )
     select 0 as num_act
       , ACT.ACT_NUM
       , EVT.EVE_DUREE
       , '2016-05-04' As date_part
       , '0' as num_recu_part
       , '1' as num_eve
     from (CF_PARTICIPATION PAR inner join CF_ACTIVITE ACT on PAR.ACT_NUM = ACT.ACT_NUM) INNER JOIN CF_EVENEMENT EVT ON PAR.EVE_NUM = EVT.EVE_NUM 
    where (((ACT.ACT_LIBELLE) like 'mon activité') and ((EVT.EVE_NUM)='1'));

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

Discussions similaires

  1. Requete insert avec select
    Par nanette38 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 26/03/2008, 16h21
  2. Probleme INSERT avec SELECT depuis un DBLINK
    Par peetez dans le forum SQL
    Réponses: 3
    Dernier message: 25/07/2007, 23h32
  3. Requete deffectueuse Insert avec select
    Par Dargos dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/05/2007, 13h58
  4. Insert avec select sur table avec Trigger d'insertion
    Par bran_noz dans le forum Développement
    Réponses: 5
    Dernier message: 23/12/2005, 14h38
  5. Insert avec select
    Par Alexandre` dans le forum Langage SQL
    Réponses: 11
    Dernier message: 25/01/2005, 15h16

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