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 :

Comment concatener deux champs d'une table d'une BDD.


Sujet :

Langage SQL

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Points : 55
    Points
    55
    Par défaut Comment concatener deux champs d'une table d'une BDD.
    Bonjour,
    j'aimerai savoir comment concatener deux champs d'une table ClassXXX
    voilà,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j'ai un champ NAME et un champ ID qui est la clé primaire.
    Ma recherche de donnée est basée bien sur sur le champ NAME et non pas le ID.
    selon certains, il parait qu'à partir du name, je peux retrouver le ID et concatener pour retrouver les données des autres champs de la même table.

    Mais une autre personne me dit que si mon NAME est unique (sans etre la primary key, donc pas de doublons), je peux retrouver directement les données sans chercher le ID.
    C'est vrai à quoi sert le ID dans ces cas là.

    donc dans mon design :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     j 'ai un champ : NAME 
    un champ : ID (PK) et je n'ai que le NAME en entrée de méthode
    voilà que je dois concatener NAME et ID pour trouver LABEL (autre champ de la table)
    Pourriez vous m'eclairer sur ce type de recherche
    merci beaucoup d'avance.

  2. #2
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Oui tout à fait, si ton "Name" est unique, tu peux retrouver l'ID de ton enregistrement.

    Une clef informatique unique et primaire (ID) est préférable à une chaîne de caractères. En effet, le "Name" peut, changer. Une jointure sur une chaîne de caractères est moins rapide et demande plus d'opération qu'une jointure sur deux nombres entiers.

    Il y a d'autres raisons clairement évoquées dans les Cours SQL de SqlPro.

    Par contre, je ne comprends par la dernière phrase :
    voilà que je dois concatener NAME et ID pour trouver LABEL (autre champ de la table)
    Si ta table a le format ID, NAME, LABEL alors ta recherche de label se fait ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT LABEL FROM CLASSXXXX WHERE ID=26
    ou (dans le cas où la table colonne est unique)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT LABEL FROM CLASSXXXX WHERE NAME='Mon_nom'
    Si la colonne name n'est pas unique, la seconde requête peut te retourner plusieurs enregistrements.

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Points : 55
    Points
    55
    Par défaut suite à ton message
    effectivement, le champ NAME n'est pas unique, je peux l'avoir deux fois, donc, je devrais recuperer le premier enregistrement.

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 150
    Points : 121
    Points
    121
    Par défaut
    ce que je ne comprends pas est : est-ce que label = id name?
    pourquoi il te faut concatener id et name?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 91
    Points : 66
    Points
    66
    Par défaut
    Il me semble que la méthode de concaténation en SQL est CONCAT. Mais il est vrai que je ne vois pas trop l'intérêt compte tenu du fait que tu as l'ID...

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Réponses: 1
    Dernier message: 19/10/2011, 12h13
  3. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  4. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  5. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50

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