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 :

Mise à jour entre deux tables


Sujet :

Requêtes MySQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Egypte

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Mise à jour entre deux tables
    Bonjour,

    J'ai besoin de mettre a jour le champ "Username" une table utilisateur (User_Basic) dont voici le shema :
    "User_ID" ; "Username"

    Les informations detaillees sur les utilisateurs sont stockes dans une autre de table (User_details) :
    "User_ID" ; "FamilyName" ; "FirstName" ; "Birthdate"

    Je souhaite mettre a jour le champ "Username" de la table "User_Basic" y inserant un "username" constitue de la premiere lettre du prenom suivie du nom de famille.

    Exemple :

    Pierre Dupond >> pdupond

    la base de donnee tourne sous MySQL 5.5


    Et la, je suis completement perdu!!!

    Merci d'avance pour votre aide!

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Regardez du côté des fonctions de chaînes de caractères.

    Faites un morceau de requête SELECT qui prend la première lettre à gauche du prénom.
    Concaténez avec le nom et vous aurez votre username.

    Il ne vous reste plus qu'à utiliser ça dans une requête UPDATE.

    Vous essayez et vous revenez poster votre oeuvre.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Egypte

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour tes conseils "Cinephil".

    Mes connaissances en SQL etant plus que limitees, j'ai bien trouve les fonctions "substring", "concat", et autres, mais alors, de la a comprendre comment assembler un "select", un "update", et autres fonctions au sein d'une meme requete...avec en plus une jointure entre deux tables...

    Donc, je reitere ma demande d'aide, si l'un d'entre vous pouvais me donner au moins un brouillon de requete, je lui en serai reconnaissant!

    Merci d'avance!

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Pfff !

    Commence par chercher ça et propose ta requête :
    Citation Envoyé par CinéPhil
    Faites un morceau de requête SELECT qui prend la première lettre à gauche du prénom.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Egypte

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Me revoila avec une premiere ebauche de requete!

    Pour faire plus simple qu'initialement prevu, je vais essayer de remplacer les champs "username" NULL par la premiere partie de l'adresse email des utilisateurs, situee a gauche du "@"

    J'en suis la pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    update my_table
    set username = substrg ('email' ,1,6)
    where username is null
    Je ne sais pas comment exprimer en SQL de selectionner ce qui se trouve a gauche du caractere "@"....donc, je prends les 6 premiers caracteres...

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je ne sais pas comment exprimer en SQL de selectionner ce qui se trouve a gauche du caractere "@"
    Il faut commencer par chercher à quelle position se trouve le caractère @, à l'aide de la fonction POSITION.
    Ensuite, on ne conserve que les (position - 1) premiers caractères de gauche.

    Essaie déjà avec du SELECT plutôt que de fournir directement un UPDATE !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [MySQL-5.5] Problème avec une requête de mise à jour entre deux tables
    Par hermes1383 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/11/2014, 10h52
  2. [AC-2007] Requete mise à jour entre 2 tables
    Par Greg47 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 12/05/2010, 16h51
  3. Problème sur une requête de mise à jour entre 2 tables
    Par Throbb dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 04/03/2009, 14h43
  4. Requête de mise à jour entre 2 tables
    Par Heytabernak dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/11/2008, 11h36
  5. Pb de mise à jour entre 2 tables
    Par tissard dans le forum Requêtes
    Réponses: 5
    Dernier message: 19/07/2006, 14h12

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