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

uprościć instrukcję SQL za pomocą CTE

Użyj CROSS APPLY , którego można użyć do zdefiniowania pól z aliasami, a następnie odwoływania się do nich:

SELECT A.a, 
       A.b, 
       B.c,
       CalculatedValue,
       B.d
FROM    
       dbo.TableA A 
INNER JOIN
        dbo.TableB B 
        ON (...)
CROSS APPLY 
        (SELECT (CASE WHEN ... THEN ... ELSE ... END)) CxA(CalculatedValue)
WHERE CalculatedValue BETWEEN @DayStart AND @DayEnd
GROUP BY A.a, CalculatedValue, B.c

CxA to tylko alias i możesz go nazwać, jak chcesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie się z serwerem SQL przy użyciu uwierzytelniania systemu Windows

  2. SQL Server SHOWPLAN_TEXT

  3. Sprawdź, ile elementów poczty znajduje się w kolejce w poczcie bazy danych w programie SQL Server (T-SQL)

  4. Jak uzyskać datę sobotnią (lub dowolną inną datę w dni powszednie) - SQL Server

  5. SQL Server 2016:Widok projektanta