#sql
#sql
Вопрос:
Я пытаюсь выполнить SQL-запрос, чтобы вернуть два значения из одной и той же таблицы на основе разных предложений where. Если я использую пример 1 кода, запрос работает. Если я введу подзапрос, как в примерах 2 и 3, я получу ошибку пропущенного предиката пропущенного цикла. Не могли бы вы, пожалуйста, помочь мне решить проблемы, описанные в примерах 2 и 3?
Пример 1:
SELECT sales.Executive AS Sales, aftersales.Executive AS Aftersales FROM MK_00_CUSTOMERCOSTCENTREDEFAULTS sales, MK_00_CUSTOMERCOSTCENTREDEFAULTS aftersales WHERE sales.Branch = 'C3' AND aftersales.Branch = 'C3' AND sales.Department = 'S' AND aftersales.Department = 'W'
Пример 2:
SELECT sales.Executive AS Sales, aftersales.Executive AS Aftersales FROM MK_00_CUSTOMERCOSTCENTREDEFAULTS sales, MK_00_CUSTOMERCOSTCENTREDEFAULTS aftersales WHERE sales.Branch = (SELECT BranchLocation FROM MK_00_SERVICEHISTORY WHERE CustomerMagicNumbe = '1085770' AND SequentialServceNo = '3') AND aftersales.Branch = 'C6' AND sales.Department = 'S' AND aftersales.Department = 'W'
Пример 3:
SELECT sales.Executive AS Sales, aftersales.Executive AS Aftersales FROM MK_00_CUSTOMERCOSTCENTREDEFAULTS sales, MK_00_CUSTOMERCOSTCENTREDEFAULTS aftersales WHERE sales.Branch = (SELECT BranchLocation FROM MK_00_SERVICEHISTORY WHERE CustomerMagicNumbe = '1085770' AND SequentialServceNo = (SELECT MAX(SequentialServceNo) FROM MK_00_SERVICEHISTORY WHERE CustomerMagicNumbe = '1085770')) AND aftersales.Branch = 'C6' AND sales.Department = 'S' AND aftersales.Department = 'W'
Комментарии:
1. Совет сегодняшнего дня: Используйте современный, явный
JOIN
синтаксис! Проще писать ( без ошибок ), легче читать и поддерживать, а также легче конвертировать во внешнее соединение, если это необходимо!