Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.04.2011, 14:24
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
Сообщение Вывод данных в ячейку

Привет всем!
Есть такая проблема.
У меня вывод в таблицу такой:
ID №договора---------Фамилия -------- Дата-------Деньги
1------50-------------Иванов И.И.------12.12.2010------50
2------50 ------------Иванов И.И.------15.02.2011------100
А хочу такой:
ID----№договора-------Фамилия--------Дата--------Сумма
1--------50 Иванов И.И.----12.12.2010
-------------------------------------------------------150
2--------50-----------Иванов И.И.-----15.02.2011 --------
Т.е. как сделать объединение строчек определенного столбца и написать там посередине сумму???

Последний раз редактировалось Botaniq, 12.04.2011 в 18:45.
Ответить с цитированием
  #2  
Старый 12.04.2011, 15:22
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

а база какая? хотя в принципе пофиг какая, можно через Calculated поля сделать.
__________________
взялся из неоткуда, ничего не прошу, помогаю просто так
ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя
Ответить с цитированием
  #3  
Старый 12.04.2011, 18:41
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию

База Oracle 10g.
Каким образом можно так сделать??
Можно пояснить кодом
Ответить с цитированием
  #4  
Старый 13.04.2011, 10:18
Аватар для anonymous
anonymous anonymous вне форума
Новичок
 
Регистрация: 19.01.2011
Сообщения: 61
Версия Delphi: Delphi2009 v.12
Репутация: 12
По умолчанию

Как интересно у вас сумма по двум датам под одной=)

Код:
select SUM(деньги) as сумма
group by ID
order by id

что нибудь в таком духе можно в запросе попробовать написать вместо

Код:
select деньги from таблица
order by id

или у вас по другому база сделана? И вообще что за таблица, что за вывод?

ЗЫ .Вам не кажется, что писать сумму отдельной строкой есть смысл только при выводе всех значениий перед ней?

Последний раз редактировалось anonymous, 13.04.2011 в 10:22.
Ответить с цитированием
  #5  
Старый 13.04.2011, 10:32
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Код:
select sum(Деньги), Фамилия 
            from таблица
         group by Фамилия 
сработает без поля Дата и ID. Чтобы с ними все работало нужны подзапросы
Ответить с цитированием
  #6  
Старый 13.04.2011, 10:38
Аватар для anonymous
anonymous anonymous вне форума
Новичок
 
Регистрация: 19.01.2011
Сообщения: 61
Версия Delphi: Delphi2009 v.12
Репутация: 12
По умолчанию

оО а что мешает просто к выборке добавить поля с датой и айди?
последние 100500 раз когда я писал запросы типа select a,b,c,d,e,f... все работало.

Последний раз редактировалось anonymous, 13.04.2011 в 10:40.
Ответить с цитированием
  #7  
Старый 13.04.2011, 11:44
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию

Я хочу вывести сумму посередине двух строк, а не отдельной строкой
Ответить с цитированием
  #8  
Старый 13.04.2011, 11:56
Аватар для anonymous
anonymous anonymous вне форума
Новичок
 
Регистрация: 19.01.2011
Сообщения: 61
Версия Delphi: Delphi2009 v.12
Репутация: 12
По умолчанию

ни-чего не понимаю
Ответить с цитированием
  #9  
Старый 13.04.2011, 11:59
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию

Пример во вложении
Изображения
Тип файла: jpg test1.JPG (19.5 Кбайт, 23 просмотров)
Ответить с цитированием
  #10  
Старый 13.04.2011, 13:04
Аватар для anonymous
anonymous anonymous вне форума
Новичок
 
Регистрация: 19.01.2011
Сообщения: 61
Версия Delphi: Delphi2009 v.12
Репутация: 12
По умолчанию

В Dbgrid объединить ячейки проблемно, я бы попробовал в stringgrid написать вывод, а еще лучше в генераторе отчетов сделать, если он только для чтения. Ну и форма вывода информации помоему странновата.
Ответить с цитированием
  #11  
Старый 13.04.2011, 13:09
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
Сообщение

Я согласен что странно)
а как это реализовать в stringgrid?
Ответить с цитированием
  #12  
Старый 13.04.2011, 17:53
Аватар для anonymous
anonymous anonymous вне форума
Новичок
 
Регистрация: 19.01.2011
Сообщения: 61
Версия Delphi: Delphi2009 v.12
Репутация: 12
По умолчанию

Цикл который пройдет например по всем фамилиям, выберет для каждой набор полей, которые еще один цикл, из результата запроса по строкам записывает в соответствующие ячейки stringgrid, причем по завершении вывода каждой фамилии пишет в заданную ячейку сумму 1 раз для всего блока.

блин....отдаленно напоминающее

Код:
procedure TForm1.drawgraph(j: integer);
var s:string;
ct,i :integer;
begin

sggraph.Cells[0,1]:='заголовок';
sggraph.Cells[0,2]:='заголовок';
sggraph.Cells[0,3]:='сумма';

query.Close;
form1.Query.SQL.Text:='select * FROM таблица WHERE T_id ='+inttostr(j);
form1.query.ExecQuery;

i:=1;
ct:=0;
while not query.eof do
begin
sggraph.cells[i,0]:=inttostr(i);
sggraph.cells[i,1]:=query.fieldbyname('чтото').asstring;
sggraph.cells[i,2]:=query.fieldbyname('чтото_еще').asstring;
ct:=ct+query.fieldbyname('деньги').asinteger;
I:=i+1;
end
sggraph.cells[тут уж надо думать в какую красивше]:=inttostr(ct);
end;

sggraph-имя грида
Ответить с цитированием
  #13  
Старый 13.04.2011, 19:44
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

На мой взгляд у вас противоречие в прилагаемом варианте отчета.
Если вы выводите даты, то по ним нужны суммы и итог уже отдельно. Если вы хотите только сумму выплат, то тогда даты не нужны т.к. без детализации выплат они теряют смысл.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #14  
Старый 13.04.2011, 20:36
Botaniq Botaniq вне форума
Новичок
 
Регистрация: 20.06.2010
Сообщения: 64
Репутация: 10
По умолчанию

Я так и не понял как объединить строчки(
Ответить с цитированием
  #15  
Старый 14.04.2011, 09:50
Аватар для anonymous
anonymous anonymous вне форума
Новичок
 
Регистрация: 19.01.2011
Сообщения: 61
Версия Delphi: Delphi2009 v.12
Репутация: 12
По умолчанию

http://forum.vingrad.ru/forum/topic-241119.html
там были ссылки на пару гридов, которые это умеют, и пример объединения, хоть это и стремно.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:31.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025