web-dev-qa-db-fra.com

Combiner les enregistrements de plusieurs lignes en une seule ligne avec MS Access Query?

J'ai une table (nom- tbl2) avec 21 colonnes mais je veux combiner plusieurs enregistrements de lignes dans une ligne en utilisant un numéro de référence unique comme ci-dessous:

Champ de table et type d'enregistrements

enter image description here

Résultat attendu:

enter image description here

Veuillez m'aider à résoudre ce problème.

2
Jonas Ronald Costa

Essayez la requête ci-dessous pour résoudre votre problème:

SELECT ID, STUFF(
     (SELECT ', ' + CAST(Item AS VARCHAR(20)) [text]
     FROM TBL12
     WHERE ID = t.ID
     FOR XML PATH(''), TYPE)
    .value('.','NVARCHAR(MAX)'),1,2,' ') Items
FROM TBL12 t
GROUP BY ID

Puisque vous ajoutez de nombreuses balises dans le message, j'ai résolu dans MSSQL en utilisant STUFF.
Violon de travail: http://sqlfiddle.com/#!3/d805d/4

2
Arulkumar

Cela est plus facile à réaliser dans une requête Access en utilisant la fonction ConcatRelated () . Pour plus d'informations, consultez la question suivante sur le débordement de pile:

Combinez les valeurs des lignes liées en une seule valeur de chaîne concaténée

1
Gord Thompson