Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jak przejść przez tabelę, aby znaleźć zestaw danych?

Możesz to łatwo zrobić, pivoting dane.Można to zrobić na dwa sposoby.

1. Użyj Conditional Aggregate do obracania danych. Po pivoting możesz znaleźć datediff między różnymi etapami. Spróbuj tego.

SELECT orderid,Received,Keyed,Printed,Delivered,
       Datediff(minute, Received, Keyed)    TurnTime1,
       Datediff(minute, Keyed, Printed)     TurnTime2,
       Datediff(minute, Printed, Delivered) TurnTime3
FROM  (SELECT OrderID,
              Max(CASE WHEN ActivityID = 1 THEN ActivityDate END) Received,
              Max(CASE WHEN ActivityID = 2 THEN ActivityDate END) Keyed,
              Max(CASE WHEN ActivityID = 3 THEN ActivityDate END) Printed,
              Max(CASE WHEN ActivityID = 4 THEN ActivityDate END) Delivered
       FROM   Yourtable
       GROUP  BY OrderID)A 

2. użyj Pivot transponować dane

SELECT orderid,
       [1]                        AS Received,
       [2]                        AS Keyed,
       [3]                        AS Printed,
       [4]                        AS Delivered,
       Datediff(minute, [1], [2]) TurnTime1,
       Datediff(minute, [2], [3]) TurnTime2,
       Datediff(minute, [3], [4]) TurnTime3
FROM   Yourtable
       PIVOT (Max(ActivityDate)
             FOR ActivityID IN([1],[2],[3],[4]))piv 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błędy:Instrukcja INSERT EXEC nie może być zagnieżdżona. i Nie można użyć instrukcji ROLLBACK w instrukcji INSERT-EXEC. Jak to rozwiązać?

  2. Jak uzyskać listę tabel bez ograniczenia klucza podstawowego we wszystkich bazach danych instancji SQL Server - SQL Server / TSQL Tutorial, część 62

  3. W jaki sposób serwer obsługuje żądania usług internetowych od wielu klientów?

  4. Przywracanie dostępu do instancji SQL Server bez ponownego uruchamiania

  5. Czy istnieje sposób na zmianę wartości FixedLenNullInSource i TrimTrailingBlanks?