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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.12.2010, 21:16
Jeka57 Jeka57 вне форума
Прохожий
 
Регистрация: 22.12.2010
Сообщения: 5
Репутация: 10
По умолчанию Посчитать сумму из полей

Здравствуйте, в инсте дали задание сделать БД про продажу билетов на поезда. Саму базу сделал, вроде как одобрили, слепил программку, которая всё связывает и показывает...
Но осталась одна часть задания. В БД есть поля со стоимостью проезда через определенную зону. Поезд может проехать как через две зоны, так и через одну. Если он проезжает две, нужно сложить стоимость двух зон... Вот на этом я и застрял... Всю голову уже поломал, с БД в делфи в первый раз сталкиваюсь.. Подскажите пожалуйста как это реализовать?
Исходники свои прикрепил..
Ответить с цитированием
  #2  
Старый 22.12.2010, 21:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
SELECT SUM(Price) FROM Zones WHERE Zone >= :StarZone and Zone <= :FinishZone
StartZone и FinishZone - параметры.

ЗЫ. Схему не смотрел. Так что пример довольно абстрактный.
Предполагается, что у нас есть таблица стоимости по зонам примерно следующего вида:
Код:
CREATE TABLE Zones (
  ID Integer, -- уникальный идентификатор
  Zone  Integer, -- номер зоны
  Price Numeric(18,8) -- стоимость проезда по зоне. М.б. типа currency, если поддерживается
)
Ответить с цитированием
  #3  
Старый 22.12.2010, 21:54
Jeka57 Jeka57 вне форума
Прохожий
 
Регистрация: 22.12.2010
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Код:
SELECT SUM(Price) FROM Zones WHERE Zone >= :StarZone and Zone <= :FinishZone
StartZone и FinishZone - параметры.

ЗЫ. Схему не смотрел. Так что пример довольно абстрактный.
Предполагается, что у нас есть таблица стоимости по зонам примерно следующего вида:
Код:
CREATE TABLE Zones (
  ID Integer, -- уникальный идентификатор
  Zone  Integer, -- номер зоны
  Price Numeric(18,8) -- стоимость проезда по зоне. М.б. типа currency, если поддерживается
)

У меня на форме dbgrid, реально ли тогда сделать, чтобы параметры, т.е. номера автоматически брались из выделенной строки?
И еще как быть, если номера зон указаны в одной таблице, а их стоимость в другой?

Последний раз редактировалось Jeka57, 22.12.2010 в 22:27.
Ответить с цитированием
  #4  
Старый 26.12.2010, 16:23
Jeka57 Jeka57 вне форума
Прохожий
 
Регистрация: 22.12.2010
Сообщения: 5
Репутация: 10
По умолчанию

Как примерно должен выглядить цикл по суммированию полей в моем случае?
Ответить с цитированием
  #5  
Старый 26.12.2010, 16:49
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Лучше всего, сделать это на уровне запросов, нежели доставать данные и что-то самому складывать.
lmikle тебе решение написал.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 26.12.2010, 18:13
Jeka57 Jeka57 вне форума
Прохожий
 
Регистрация: 22.12.2010
Сообщения: 5
Репутация: 10
По умолчанию

M.A.D.M.A.N., да вот не получается вставить этот запрос... Может подскажешь примерно по моей структуре как должно выглядеть?
Ответить с цитированием
  #7  
Старый 26.12.2010, 22:48
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Покажи схему. Как запросы отправляешь?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter