Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използване на PIVOT и JOIN заедно

WITH T
     AS (SELECT [Order Details].OrderID,
                c.CategoryName,
                c.CategoryID
         FROM   [Order Details]
                INNER JOIN Products p
                  ON p.ProductID = [Order Details].ProductID
                INNER JOIN Categories c
                  ON c.CategoryID = p.CategoryID)
SELECT *
FROM   T PIVOT ( COUNT (CategoryID) FOR CategoryName IN ( 
       [Beverages],
       [Condiments],
       [Confections], 
       [Dairy Products], 
       [Grains/Cereals],
       [Meat/Poultry],
       [Produce],
       [Seafood]) ) AS pvt
ORDER  BY OrderID  



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Добавяне на идентичност към съществуваща колона

  2. Избягване на SQL инжектиране без параметри

  3. Как да съхранявате данни в ред в SQL Server

  4. Проверка на входен параметър, ако не е Null, и използването му къде в SQL Server

  5. Името на колоната FirstName, указано в оператора PIVOT, е в конфликт със съществуващото име на колона в аргумента PIVOT