Quelqu'un a-t-il un exemple de pivot utilisant une table avec une colonne XML - transformant spécifiquement certains éléments de la colonne xml en une colonne dans le tableau croisé dynamique? J'essaye d'en construire un, mais la syntaxe me tue; xml en sql est sacrément difficile à utiliser, comparé à xml en C#. Je soupçonne que c'est impossible, mais ça ne ferait pas de mal à vérifier :)Pivot SQL utilisant une colonne XML
1
A
Répondre
2
Voici un exemple simple qui a des magasins avec les détails du produit stockés en XML. Le pivot est dans le bas qui montre les magasins et une somme de prix par catégories A et B.
declare @test Table
(
StoreID int,
ProdXml xml
)
insert into @test
select 1, '<product cat="A" name="foo" price="10" />' union
select 2, '<product cat="A" name="bar" price="12" />' union
select 1, '<product cat="B" name="blah" price="35" />' union
select 2, '<product cat="B" name="bap" price="67" />' union
select 1, '<product cat="C" name="bip" price="18" />' union
select 2, '<product cat="A" name="bing" price="88" />' union
select 1, '<product cat="B" name="bang" price="34" />' union
select 2, '<product cat="B" name="boom" price="65" />'
--Pivot showing sum of price by Cat
select StoreID, A, B
from
(
select StoreID,
ProdXml.value('/product[1]/@cat[1]','varchar(20)') as [ProdCat],
ProdXml.value('/product[1]/@price[1]','int') as [ProdPrice]
from
@test
) up
PIVOT (SUM([ProdPrice]) FOR [ProdCat] IN (A, B)) as pvt
ORDER BY StoreID
Questions connexes
- 1. Pivot SQL utilisant SQL Server 2005
- 2. SQL Pivot pour la colonne de clé étrangère
- 3. Pivot/unpivot dans SQL
- 4. SQL dynamique Pivot - comment commander des colonnes
- 5. Rechercher une colonne XML dans SQL
- 6. SQL Server - PIVOT
- 7. Comment stocker des fichiers XML dans une colonne xml en utilisant linq to sql?
- 8. SQL Server PIVOT aide
- 9. SQL Server: table Pivot
- 10. SQL Pivot MIN (COUNT (
- 11. SQL Server - Table dynamique PIVOT - Injection SQL
- 12. SQL Pivot sur sous-ensemble
- 13. besoin requête Sql (peut être pivot)
- 14. insert int dans la colonne xml sql
- 15. Pivot contre une procédure stockée SQL (ou LINQ)
- 16. Pivot de plusieurs colonnes dans T-SQL
- 17. Syntaxe PIVOT dans SQL Server 2005
- 18. Pivot SQL Server 2005 sur un nombre inconnu de colonnes
- 19. Document xml non pivot basé sur des attributs
- 20. Comment puis-je accéder aux données XML dans ma colonne en utilisant LINQ to XML?
- 21. Excel Pivot
- 22. Séquence de numérotation de valeurs uniques SQL pour Pivot
- 23. SQL Server - Ajout d'un index XML à une colonne calculée sur une vue
- 24. Comment mettre à jour une chaîne XML dans une colonne ntext dans SQL Server?
- 25. Pivot Table et Concaténer Colonnes
- 26. SQL rendre les lignes dans les colonnes, PIVOT peut-être
- 27. Comment convertir des enregistrements dans une table au format xml en utilisant T-SQL?
- 28. Comment insérer sysdate dans une colonne en utilisant ODP et un ensemble de données XML?
- 29. Comment écrire dans une colonne varchar (max) en utilisant ODBC
- 30. Pourquoi un schéma rendrait-il une colonne XML plus lente?
J'ai obtenu un downvote sur celui-ci et je ne peux pas pour la vie de moi penser pourquoi. – jcollum