Показать сообщение отдельно
  #1  
Старый 11.11.2015, 17:46
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию Запрос с подстановкой строки по условию

Есть таблица платёжек:

Код:
№Счёта	№Платёжки	Сумма	   Дата
1	       1	     14	     12.10.2014
1	       2	     21	     13.10.2014
1	       3	     11	     14.10.2014
2	       4	     18	     15.10.2014
2	       5	     4	     21.10.2014
мне нужно сгруппировать эту таблицу по №Счета так, чтоб рядом с этим номером оказался № платёжки с Максимальной Суммой и все остальные параметры (№ Платёжки, дата) соответствующие этой сумме

Код:
№Счёта	№Платёжки	Сумма	Дата
1	       2	     21	     13.10.2014
2	       4	     18	     15.10.2014

Используется MySQL

Запрос типа
Код:
SELECT 
  ContractID, -- (№Счёта)
  BillingID, -- (№ Платёжки)
  MAX(Summ), -- (Сумма)
  BillingDate  -- (Дата)
FROM
  BIlls 
GROUP BY ContractID

провалился. В поля BillingDate и BillingID подставляются наименьшие "по порядку" значения (т.е. первые из списка)

Ломаю голову над вложенными запросами, но что-то ничего толкового в голову не пришло.
Ответить с цитированием