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 MySQL Discussion :

insert int avec une valeur + un select


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 107
    Par défaut insert int avec une valeur + un select
    Bonjour,

    J'ai besoin de remplir ma table qui comprend 2 champs avec un parametre reçu et l'autre avec un select.
    J'ai testé ça mais ça fonctionne pas

    @idProduit, @projetId sont 2 paramètres reçu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO prj_cps (cps_fk_id, prj_fk_id)
                                            VALUES (SELECT cps_id FROM cps INNER JOIN cps_prd ON cps_id = prd_cps_fk_id WHERE prd_fk_id = @idProduit, @projetId)
    Merci de vos propositions

  2. #2
    Membre éclairé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Par défaut
    il faut que tout soit dans la requete:

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    INSERT
    INTO   prj_cps
           (
                  cps_fk_id,
                  prj_fk_id
           )
           VALUES
           (SELECT cps_id,
                   @projetId
           FROM    cps
                   INNER JOIN cps_prd
                   ON      cps_id = prd_cps_fk_id
           WHERE   prd_fk_id      = @idProduit
           )

    ou alors (pas persuadé que ça fonctionne):
    Code SQL : 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
    INSERT
    INTO   prj_cps
           (
                  cps_fk_id,
                  prj_fk_id
           )
           VALUES
           (
           (SELECT cps_id
           FROM    cps
                   INNER JOIN cps_prd
                   ON      cps_id = prd_cps_fk_id
           WHERE   prd_fk_id      = @idProduit
           )
           ,
           @projetId
           )

    La première solution est je pense la meilleur, au moins en terme de lisibilité

    A+
    juva

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 107
    Par défaut
    merci ta solution marche parfaitement

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

Discussions similaires

  1. INSERT avec une valeur reprise d'une autre TABLE
    Par Rifton007 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/02/2015, 20h36
  2. Select avec une valeur par défaut variable
    Par Toulousaing dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 22/11/2014, 10h05
  3. Insert dans une vue avec une valeur par défaut
    Par adiGuba dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/07/2010, 15h12
  4. Réponses: 14
    Dernier message: 08/04/2008, 21h05
  5. INSERT INTO avec une valeur numéroauto
    Par priest69 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 08/11/2005, 15h39

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