Показать сообщение отдельно
  #2  
Старый 13.11.2013, 00:28
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от govorun
Имеются два поля в базе, например:
100 18,34
100 11,18
200 88,00
200 99,14
300 66,07
300 88,18

Вопрос:
как подсчитать суммы, относящиеся к 100, к 200, к 300 и вывести например в Editы, при условии что 100, 200, и 300 необязательно будут присутствовать. Т.е. если 100 имеется, тогда подсчитывать, если нет тогда '0'
Код:
  Query1.Close;
  Query1.SQL.Text :=
    'SELECT '+
    '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 100), '+
    '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 200), '+
    '(SELECT SUM(Поле2) FROM Таблица WHERE Поле1 = 300)';
  Query1.Open;
  Edit1.Text := FloatToStr(Query1.Fields[0].AsFloat);
  Edit2.Text := FloatToStr(Query1.Fields[1].AsFloat);
  Edit3.Text := FloatToStr(Query1.Fields[2].AsFloat);
Ответить с цитированием