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 :

UPDATE casse-tête !


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Points : 31
    Points
    31
    Par défaut UPDATE casse-tête !
    Salut à tous,

    je poste rarement sur les forums développez donc là, c'est vraiment que j'ai un gros soucis
    Alors, j'ai deux tables, la A qui contient deux champs Nom et Prénom, et la B qui contient une liste de noms (les mêmes que ceux de la A, mais pouvant apparaitre plusieurs fois), sans les prénoms (ça va, vous suivez toujours ?? )
    Je cherche donc à faire une requête UPDATE de la table B afin de remplacer les Noms par "TableA.Nom TableA.Prénom"... et je me casse le crâne...
    Si vous avez une idée, n'hésitez surtout pas !!

    Merci pour votre aide

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    comment on choisit le prénom s'il y a plusieurs personnes avec le même nom?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Points : 31
    Points
    31
    Par défaut
    Dans la table A, chaque nom n'apparait qu'une seule fois, et est associé à un prénom. Dans la table B, ces mêmes noms peuvent apparaitre plusieurs fois, genre
    DUPONT
    DUPONT
    DUPONT
    DUPONT
    DURANT
    DURANT
    DURANT
    mon but, c'est de récupérer les prénoms de dupont et durant, et de les concaténer au champ Nom de la table B... et c'est dur !
    Pour info, je bosse sous Access 2007 en requêtes sql.

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    dans ta table A il ne peut pas y avoir :
    - DUPONT Jean
    - DUPONT Jacques
    par exemple?


    sinon ca existe concat sous access?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Points : 31
    Points
    31
    Par défaut
    Il y a un seul cas comme ça, mais n'en tenons pas compte.
    En fait, une fois que ce problème sera réglé, la table B sera toujours "bien" mise à jour, sans omission
    J'ai clairement besoin d'une requête pour le faire automatiquement, parce qu'il y a 1200 lignes dans la table B...

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    Je ne connais pas assez access mais je pense que tu dois passer par un update avec sous requete
    http://sql.developpez.com/sqlaz/dml/#L3
    la partie 3.5 devrait t'aider

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Points : 31
    Points
    31
    Par défaut
    Merci pour ta réponse, je vais regarder ça.
    Bonne journée !

  8. #8
    J1
    J1 est déconnecté
    Membre averti Avatar de J1
    Inscrit en
    Mai 2004
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 321
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    en admettant que les noms soient en effet uniques dans la table A :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE B INNER JOIN A
    ON A.Nom = B.Nom
    SET B.Nom = B.Nom & ' ' & A.Prenom
    Je te conseille d'essayer la requête sur une base de test avant de l'exécuter sur les données en production, afin de t'assurer que le résultat obtenu répond à tes attentes.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Points : 31
    Points
    31
    Par défaut
    Génial merci beaucoup

Discussions similaires

  1. UPDATE casse-tête !
    Par djunityfr dans le forum Langage SQL
    Réponses: 0
    Dernier message: 25/07/2007, 10h12
  2. [Tableaux] Casse têtes de boucles
    Par Anduriel dans le forum Langage
    Réponses: 5
    Dernier message: 28/06/2006, 00h24
  3. requête SQL un peu casse tête
    Par hellbilly dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/12/2005, 10h03
  4. Classe, pile, pointeurs et casse-tête!
    Par zazaraignée dans le forum Langage
    Réponses: 6
    Dernier message: 26/09/2005, 16h57
  5. casse-tête excel
    Par gregius dans le forum Access
    Réponses: 2
    Dernier message: 21/09/2005, 16h38

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