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

MS SQL Server Discussion :

Concaténation de colonnes


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 105
    Par défaut Concaténation de colonnes
    Bonjour,

    Voici mes tables : (je suis en SQL server 2008)

    USER (id, nom, prenom, login, date_naissance)
    LANGUES (id, nom)
    USER_LANGUES (id_user, id_langue, niveau)

    Je voudrais mettre un champ dans la table user qui s'apellera "concatenation", et qui contiendra pour un user donné, la concaténation des champs.

    Exemple : User = Jean Dupont
    champ "concatenation" de la table user contient "dupont jean jeannot 30/06/1980 francais bon anglais moyen espagnol excellent".

    Donc une concaténation de ses infos user et de ses langues parlées & niveaux.

    Je ne vois pas comment faire cela

    Merci

    Dev

  2. #2
    Membre Expert
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Par défaut
    Alors avant même de se demander comment, il faudrait surtout se demander pourquoi vous voulez transformer des données utiles et exploitables en un magma inutilisable ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 105
    Par défaut
    Pourquoi pas?
    J'en ai besoin, ce ne sera pas inutilisable pour moi.

  4. #4
    Membre expérimenté
    Inscrit en
    Janvier 2012
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 145
    Par défaut
    Si vous y tenez vraiment, vous pouvez regarder ce post.

  5. #5
    Membre Expert
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Par défaut
    Citation Envoyé par Devlin111 Voir le message
    Pourquoi pas?
    J'en ai besoin, ce ne sera pas inutilisable pour moi.
    J'imagine que vous n'en n'avez pas besoin de façon permanente, en base.
    Il doit s'agir d'un besoin ponctuel : export, écran.
    Dans ce cas, le mieux serait de faire ceci du côté applicatif plutôt qu'en base. Au pire, une vue fera l'affaire ; sincèrement, quel est l'intérêt de stocker en base quelque chose qui se retrouve aussi facilement ? Ça va consommer de l'espace, ça pourra être en décalage avec les données (à moins de mettre des vilains triggers de partout qui iront mettre jour ladite colonne), ...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 105
    Par défaut
    Je vous remercie pour vos réponses.
    Mais ce n'est pas tout à fait ça que je voudrais faire : en effet, je veux mettre dans la table user, les infos de toutes les autres tables de ma base liées à un user ....
    Comment adapter ce code?

    Non, cela ne se retrouve pas facilement. Pour chacun des user, je dois stocker toutes les informations qui lui correspondent. Je dois le faire dans une procédure stockée, je m'en servirais très souvent

  7. #7
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Non, cela ne se retrouve pas facilement. Pour chacun des user, je dois stocker toutes les informations qui lui correspondent. Je dois le faire dans une procédure stockée, je m'en servirais très souvent
    Ridicule, repassez sur EXCEL...

    Un modèle de données n'est pas juste la pour vous embeter, un langage existe pour retrouver les données de votre User à la demande: SQL (avec des SELECT des jointures vous voyez).

  8. #8
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Par défaut
    Citation Envoyé par Rei Ichido Voir le message
    Au pire, une vue fera l'affaire ; ...
    Je me permets de reprendre ce que disait Rei:
    Vous indiquez ne pas pouvoir utiliser la recherche Full Text, ne pas pouvoir utiliser de T-sql dans votre code mais seulement des procédures stockées.

    Dans ce cas, je dirais qu'il ne vous reste effectivement plus que la solution d'une SP basée sur une vue.
    Vous pourrez construire celle-ci avec des jointures soigneusement choisies et jouer avec les clauses "where","like" etc... et passer les valeurs de vos Textbox en paramètres de la SP

    En termes de performances ce n'est certes pas ce qui se fait de mieux, mais si vos impératifs vont dans ce sens.... Il faudra toutefois prévenir votre responsable que les performances peuvent être catastrophiques ( et cela pourrait même interférer sur les perfs globales de votre serveur si je ne dis pas de bêtises ).

    Bonne journée

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 105
    Par défaut
    Swiss_GaGGy tu dis que :

    En termes de performances ce n'est certes pas ce qui se fait de mieux, mais si vos impératifs vont dans ce sens.... Il faudra toutefois prévenir votre responsable que les performances peuvent être catastrophiques ( et cela pourrait même interférer sur les perfs globales de votre serveur si je ne dis pas de bêtises ).
    Quel est d'après toi ce qui se fait de mieux en terme de performances? J'ai des impératifs, mais je peux toujours les discuter

Discussions similaires

  1. concaténer deux colonnes avec séparateur ', '
    Par briceg dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 23/10/2009, 11h33
  2. Concaténer 2 colonnes de 2 tables différentes ?…
    Par Mister Paul dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/10/2008, 11h19
  3. [MySQL] Concaténer plusieurs colonnes d'une table temporaire
    Par kryogen dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 27/08/2008, 10h56
  4. Concaténer une colonne
    Par aigleborgne dans le forum Développement
    Réponses: 3
    Dernier message: 07/05/2008, 15h02
  5. Réponses: 10
    Dernier message: 29/08/2006, 16h47

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