Ho tre tabelle come questo:SQL concatenazione molti a molti
Articoli:
Categorie
e un semplice tavolo MtM per collegarli
Per scopi di reporting, mi sono chiesto se fosse possibile creare un campo con la concatenazione di tutte le categorie a cui appartiene l'elemento. Ad esempio, se ID articolo = 1 appartiene alle categorie ID = 1 e ID = 2; Potrei fare una selezione su Articoli e ottenere un campo 'Categorie' con il valore 'Schuhe; Hemde '
Questo è possibile con SQL da solo a tutti?
il meglio che potevo venire con
SELECT Items.*, Categories.CategoryName
FROM (CategoryItemAffinities
INNER JOIN Categories ON CategoryItemAffinities.CategoryID = Categories.ID)
INNER JOIN Items ON CategoryItemAffinities.ItemID = Items.ID;
Ma questo produce, ovviamente, più di un risultato per articolo
[modifica] Proprio per specificare, l'accesso ms è semplicemente il motore di db, ho Non sto usando moduli di accesso/report ecc di per sé. Ho bisogno di questo per un'app C#
"righe concatenare con FOR XML PATH" Google –
@TabAlleman: Che non volerà in MS Access – Andomar
@Andomar ero pieno di speranza fino a quando ho visto il tuo commento: - (solo la query che volevo http://sqlandme.com/2011/04/27/tsql-concatenate-rows-using-for-xml-path/ – Robus