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

Заявка за SQL трансформация

WITH    q AS
        (
        SELECT  *, ROW_NUMBER() OVER (PARTITION BY parentID ORDER BY StartTime) AS rn
        FROM    mytable
        )
SELECT  qb.ParentID,
        qb.StartTime AS BreakfastStart, qb.EndTime AS BreakfastEnd,
        ql.StartTime AS LunchStart, ql.EndTime AS LunchEnd,
        qd.StartTime AS DinnerStart, qd.EndTime AS DinnerEnd
FROM    q qb
LEFT JOIN
        q ql
ON      ql.parentID = qb.parentID
        AND ql.rn = 2
LEFT JOIN
        q qd
ON      qd.parentID = qb.parentID
        AND qd.rn = 3
WHERE   qb.rn = 1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Трябва да се декларира скаларната променлива @ID за вмъкнат параметър

  2. Връщане на списък със схеми на дялове в SQL Server (T-SQL)

  3. Съхранена процедура с име на таблица като параметър

  4. Разбиране на функцията PIVOT в T-SQL

  5. Как мога да използвам оператор if след CTE (SQL Server 2005)