Я хочу получить результаты из трех таблиц, в которых должны быть результаты из первой таблицы.Для этого я использовал левое внешнее соединение для связывания таблиц на основе sno (первичный ключ).Запрос работает нормально, но у меня есть дополнительная сложность, когда я хочу выбрать результаты из третьей таблицы по другим критериям.
Вопрос прояснится, когда я увижу, как я пытаюсь получить результаты:
SELECT * FROM tw_main MainTable
LEFT OUTER JOIN tw_details TW
ON TW.sno = MainTable.sno
LEFT OUTER JOIN tw_typedetails CWR
ON CWR.sno = MainTable.sno WHERE CWR.twcatname = 'CWR'
LEFT OUTER JOIN tw_typedetails OHT
ON OHT.sno = MainTable.sno WHERE OHT.twcatname = 'OHT'
LEFT OUTER JOIN tw_typedetails DS
ON DS.sno = MainTable.sno WHERE DS.twcatname = 'DS'
WHERE
MainTable.sno = 420;
Этот запрос работает нормально, если я использую третью таблицу (tw_typedetails) только один раз, но я хочу получить отдельный набор результатов из той же таблицы, но с другим предложением WHERE.
Какие исправления необходимы?Я использую SQL Server 2008 R2 Express.Этот запрос должен выполняться из команды Crystal Reports.