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 :

Concaténation dans Mysql


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 4
    Points
    4
    Par défaut Concaténation dans Mysql
    Bonjour,
    Je voudrais concaténer trois tables dans une quatrième en vue d'identifier des doublons.

    J'ai une erreur de syntaxe en effectuant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update `tot` set Concaten=SELECT CONCAT (nom,adr,cp)
    , sur phpmyadmin, alors que la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONCAT(nom,adr,cp) FROM tot
    .
    me concate nom et adr mais pas cp qui est un int et pas un varchar.
    J'ai aussi tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update `tot` set Concaten=CONCAT (nom,adr,cp)
    , j'ai le même genre d'erreur.

    Quelqu'un peut il m'aider ?

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Il faut que les types de données soit tous en char ou varchar....
    Pour cela utilisez la fonction CAST :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PDATE tot
    SET Concaten = CONCAT (nom, adr, CASt(cp AS VARCHAR(32))
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Tout d'abord merci de me répondre.

    j'obtiens toujours une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1064 - Erreur de syntaxe pr�s de '(nom, adr, CAST(cp AS VARCHAR(32))' � la ligne 1
    par ailleurs, j'ai également un erreur de syntaxe en enlevant le cast:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1064 - Erreur de syntaxe près de '(nom, adr)' à la ligne 1

  4. #4
    Membre averti Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Points : 332
    Points
    332
    Par défaut
    slt...

    sur mysql 5.0, je viens de teste un code pareil a:
    SELECT CONCAT(nom,adr,cp) FROM tot
    aussi avec 3 colonnes, ayans des chars, des varchars et des integers... et ca passe sans probleme...

    tu peus montrer un jeux de valeurs ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    je suis sur MySQL 4.1.9, c'est donc pour ça ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Je corrige la requête de SQLpro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE tot
    SET Concaten = CONCAT (nom, adr, CAST(cp AS CHAR))
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

Discussions similaires

  1. Importer des données grace a des *.cvs dans MySQL
    Par Mic0001 dans le forum Installation
    Réponses: 3
    Dernier message: 05/01/2005, 19h26
  2. Recherche FULL Text existe que dans MySql ?
    Par seb.49 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/06/2004, 22h30
  3. foreign key dans mysql
    Par guillevin dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 08/04/2004, 15h07
  4. stockage d'images dans Mysql
    Par sessime dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/02/2004, 16h08
  5. Importer une db existante dans mysql
    Par Arbisis dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/02/2004, 17h02

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