J'ai une table avec des données de duplicats, je veux fusionner le champ d'emploi et de l'unité dans un seul champ.
Mes données ressemblent actuellement à ceci: P>
name job ---------------------------------------------------------------------------------------------------------------- A Teacher-Infomation-Information_office:Staff-Secretary-Secretary_office:Staff-Engineer-Engineer_office B Teacher-Finacial-Finacial_office C Teacher-Engineer-Engineer_office:Staff-Library-Library_office D Staff-Library-Library_office
3 Réponses :
dans TSQL, vous pouvez utiliser string_agg ()
Pourquoi activeriez-vous un tel gâchis horrible? :(
Essayez cette combinaison string_agg un concat_ws
Vous pouvez utiliser string_agg () code> et concat_ws () code> comme suit:
SELECT Name,
STRING_AGG(CONCAT_WS('-', job1, Unit1_Level1, Unit1__Level2), ':')
FROM YourTable
GROUP BY Name;
Quelle version de SQL Server vous utilisez ???
Les résultats que vous voulez sont une structure très mauvaise. En fait, la structure que vous avez déjà est significativement meilleure. Pourquoi voulez-vous régresser de normalisé à une structure délimitée en chaîne enfouie ???