У меня есть следующий оператор SQL в устаревшей системе, которую я реорганизую. Это сокращенное представление для целей этого вопроса, просто пока возвращает count (*).
SELECT COUNT(*)
FROM Table1
INNER JOIN Table2
INNER JOIN Table3 ON Table2.Key = Table3.Key AND Table2.Key2 = Table3.Key2
ON Table1.DifferentKey = Table3.DifferentKey
Он генерирует очень большое количество записей и убивает систему, но не мог бы кто-нибудь объяснить синтаксис? И можно ли это выразить как-то иначе?
РЕДАКТИРОВАТЬ:
Предлагаемое переформатирование
SELECT COUNT(*)
FROM Table1
INNER JOIN Table3
ON Table1.DifferentKey = Table3.DifferentKey
INNER JOIN Table2
ON Table2.Key = Table3.Key AND Table2.Key2 = Table3.Key2