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 :

Requete insert jointure


Sujet :

Langage SQL

  1. #1
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut Requete insert jointure
    Bonjour,

    J'ai un petit soucis avec un insert :

    Table pays
    ID_pays(PK) | pays

    Table donnees
    ID_donnee(PK) | ID_pays(FK) | ID_indicateur | ID_periodicite | ID_source

    Dans ma table pays j'ai 1 et Allemagne et je veux insérer dans ma table donnees l'ID du pays que je veux insérer et non le nom !

    J'envoi depuis un tableau en php donc moi je veux MATCH en quelques sorte le pays dans la table pays avec l'élément de mon tableau (exemple Allemagne) et ensuite INSERT l'id de mon pays dans ma table donnees ID_pays.....

    Un truc comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO donnees (ID_pays)
    SELECT pays.ID_pays
    FROM donnees,pays
    WHERE pays.ID_pays=donnees.ID_pays
    AND pays.pays = 'Allemagne'
    Suis-je claire ?

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    Mais concrétement quel est votre problème ?

    Ou bloquez-vous ? Qu'avez-vous essayé ?
    N'est-ce pas plus un problème php que SQL ?

  3. #3
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut
    Concrètement je veux lors de mon insert dans ma table données je veux pas le mot Allemagne que j'ai dans ma variable en php à ce moment-ci mais l'ID qui se retrouve dans la table Pays. Mes tables sont liées avec ma FK ID_pays

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonsoir,
    Ta requête insère bien l'Id du pays 'allemagne', mais uniquement si une ligne existe déjà dans la table donnees avec cet Id (à cause de la jointure, "mal" écrite en passant).
    Donc en gros tu ne fais qu'ajouter des doublons dans la table donnees.

    A quoi sert donc cette jointure avec la tables donnees ?

    Tatayo.

  5. #5
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut
    ma table donnée est plus complete j'ai pas noté toutes les colonnes...il y a une donnée

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Citation Envoyé par tidou95220 Voir le message
    Concretement je veux lors de mon insert dans ma table donnees je veux pas le mot allemagne que j'ai dans ma variable en php à ce moment si mais l'ID qui se retrouve dans la table pays. Mes tables son liés avec ma FK ID_pays
    Stockez l'id de votre pays dans votre tableau php ?!

    comme ca lors de la sélection de l'utilisateur du pays vous aurez déjà l'id du pays concerné.

    Sinon vous pouvez aussi faire une requête de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    insert into donnees (id_pays, ID_indicateur, ...)
    select ID_pays, ma_val1, ma_val2, ... from pays where pays.pays = 'Allemagne'

  7. #7
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut
    Merci c'est parfait


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO donnees (id_pays)
    SELECT ID_pays FROM pays WHERE pays.pays = 'Allemagne'

  8. #8
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut
    Avec un table supplémentaire la difficulté augmente ? adméton avec une autre table de la meme structure que pays exemple : indicateur indicateur(ID_indicateur(PK),indicateur)

    Sous requêtes ?

    Merci

  9. #9
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Et pourquoi ne faites-vous pas ceci ?

    Citation Envoyé par punkoff Voir le message
    Stockez l'id de votre pays dans votre tableau php ?!
    Qui est la solution propre pour résoudre votre problème ?

  10. #10
    Membre régulier Avatar de tidou95220
    Homme Profil pro
    BI junior
    Inscrit en
    Novembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BI junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 263
    Points : 90
    Points
    90
    Par défaut
    Non pas vraiment.....c'est pas dans mes plans :s ... il faudrait que je fasse autrement... c'est un fichier CSV que j'ai transposé dans un tableau en PHP ... j'ai pas fait d'import CSV c'est normal

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

Discussions similaires

  1. insert DBGrid avec TADOQuery et requete avec jointure
    Par gudul dans le forum Bases de données
    Réponses: 8
    Dernier message: 21/11/2012, 12h14
  2. Jointure entre plusieurs requetes INSERT INTO
    Par Bernard67 dans le forum Requêtes et SQL.
    Réponses: 18
    Dernier message: 11/01/2009, 18h42
  3. [SQL-Server] requete insert avec jointure
    Par diadie dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/07/2008, 12h45
  4. requete avec jointure & group by
    Par de LANFRANCHI dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/07/2004, 14h31
  5. requete AVG, jointure et fonction
    Par slim dans le forum Langage SQL
    Réponses: 11
    Dernier message: 01/04/2004, 01h45

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