У меня есть следующая инструкция 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
Он генерирует очень большое количество записей и убивает систему, но кто-то может объяснить синтаксис? И может ли это быть выражено любым другим способом?
- Таблица 1 содержит 419 строк
- Таблица 2 содержит 3374 строки
- Таблица 3 содержит 28182 строки
EDIT:
Предлагаемый переформатировать
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