J'ai un peu de sql qui regroupe des données pour le résumer.
C'est fondamentalement une liste de lieux, d'articles et de quantités.SQL Grouper, en combinant 2 lignes à une cellule
SELECT ItemCode, SUM(Qty) AS Qty
FROM Putaway
GROUP BY ItemCode
Qui fonctionne comme prévu, en donnant un résumé des résultats.
ItemCode - Qty
AAAA - 1
BBBB - 2
CCCC - 3
Mais on m'a aussi demandé de donner une liste d'emplacements pour chacun des articles.
Donc, fondamentalement, je veux générer les résultats à être comme:
ItemCode - Qty - Locations
AAAA - 1 - A1
BBBB - 2 - B1, B2
CCCC - 3 - B5, B6, B7
Si je fais l'évidence - et ajoutez [Localisation] au Groupe SELECT et par Puis son me donner 2 lignes pour BBBB Donc, puisqu'il y a plusieurs lignes pour chaque élément dans le tableau - comment puis-je le résumer et combiner les lignes [Emplacement] 's champ dans 1 champ. Je souhaite une solution SQL simple pour m'éviter d'avoir à écrire une sorte de page Web pour le faire.
J'espère que cela a du sens.
Qu'est-ce que DB vous utilisez – Matthew
Comme l'a dit @MatthewPK, quel est votre DB? Si vous êtes sur une instance récente de SQL Server, vous pouvez "tricher" et utiliser [PIVOT] (http://msdn.microsoft.com/en-us/library/ms177410.aspx) – Widor
@Widor: No. la concaténation peut être utilisée 'SELECT ',' + Location FROM ... FOR XML PATH ('')'. –