J'ai une table de stocks dans MSSQL 2017. Il dispose de colonnes: maintenant, je dois afficher cette information dans 2 lignes: p> est-il possible de faire du pivot ()? Suis-je sur un chemin correct?
P.S J'utilise l'entité Framework Core. p> p>
3 Réponses :
Vous pouvez facilement faire cela en utilisant Je pense que vous pouvez faire cela en utilisant appliquer code>:
impublard code>, mais c'est une syntaxe superflue .
appliquer code> implémente les jointures latérales, qui sont très puissantes. Ce n'est qu'un exemple de la façon dont ils peuvent être utilisés. P> p>
Utilisez une procédure stockée pour renvoyer les résultats dont vous avez besoin.
Une approche simple à comprendre serait l'union:
context.StockLines.Select(s => new[] { new { s.Product, Quantity = s.QuantityInStock - s.ReservedQuantity, Reserved = false }, new { s.Product, Quantity = s.ReservedQuantity, Reserved = true } }).SelectMany().ToList()
mon intellisense ne trouve pas .Selectmany (). J'ai fait -> Selectmany (x => x)
Vous pouvez utiliser UnPivot
SELECT Product, Quantity, Reserved FROM ( SELECT product, QuantityInStock AS [false], ReservedQuantity AS [true] FROM pro ) AS tt UNPIVOT(Quantity FOR Reserved IN ([false], [true])) upvt