Из всего прочитанного Мэтт прав, но, возможно, я могу помочь объяснить, что он делает ...
Первая часть запроса (From InstalmentsDetails WHERE YourCondition) получит все записи, которые соответствуют критериямусловие.
THEN, при выполнении СОЕДИНЕНИЯ ко второму запросу (выберите max ('receiveNo') из ... без условия where) ВСЕГДА вернет одну строку, один столбец максимального поступления без учетаЛЮБЫМ критериям.
Это создает подразумеваемый декартовый результат.Соедините все в первой таблице с каждой записью во второй.Поскольку явного условия соединения нет, каждая строка получит то же значение «max ()», что и возвращаемый столбец.А поскольку в вызове select max () будет только одна запись, вам никогда не придется беспокоиться о дубликатах.
Теперь, если вы хотите получить максимальную квитанцию в рамках тех же критериев, вы просто скопируете эти же критерии ввыберите максимальную () часть запроса.