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

Поведение при кръстосано свързване (SQLServer 2008)

JOIN има по-висок приоритет от COMMA, така че вашият втори израз се тълкува като (обърнете внимание на скобите, които добавих):

select sched.id, max(txn.dttm), acc.id
from PaymentSchedulePeriod sched 
,(PaymentSchedulePayment pay
right outer join AccountTransaction txn on pay.accountTransactionFk=txn.id 
right outer join Account acc on txn.accountFk=acc.id)
where sched.accountFk=acc.id 
group by sched.id, acc.id

Вижте също:Правила за приоритет на JOIN според SQL-99



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql сървър 2008 - функции за настройка на производителността за вмъкване на голямо количество данни

  2. Съхранени процедури Vs. Изгледи

  3. SQL GUID срещу цяло число

  4. Информационна схема и първични ключове

  5. Как да завъртя текстови колони в SQL Server?