У меня есть несколько операторов JOIN
в одном запросе, и я должен проверить две настройки в JOIN
. Как это сделать наилучшим образом?Sql Оптимизация запроса Проблема в JOIN
table: WebSettings
-------------------------------------------------------
Name | Setting | InstID | WebSettingID
-------------------------------------------------------
'EnableError' | 2 | 1111 | 1
'ErrorsSetting' | 0 | 2121 | 2
Index :
InstID
WebSettingID (InstID)
table: InstProd
-------------------------------------------------------
InstitutionID | Name
-------------------------------------------------------
1111 | 'Bank of Ind'
2121 | 'IOB'
Index :
InstitutionID
SELECT
Column1,
DATEADD(.....)
FROM
dbo.InstProd I
INNER JOIN dbo.WebSettings WS1 ON
WS1.InstitutionID = I.InstID AND
WS1.Name = 'EnableError' AND WS1.Setting=2
INNER JOIN dbo.WebSettings WS2 ON
WS2.InstitutionID = I.InstID AND
WS2.Name = 'ErrorsSetting' AND WS2.Setting=0
WHERE.....
Я хочу проверить одну WebSettings = 2
и other = 0
в JOIN
Есть ли лучшее решение сделать это?
Пожалуйста, объясните лучше вы спрашиваете. Что вы хотите в качестве вывода? –
Добавить определения таблиц и индексы! – jarlh
Этот код даже не запускается. Вам не хватает предложений AND/OR в коде. –