Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос из подчиненной таблицы [D5, Paradox]


Страницы:   1 2 3

Julia ©   (2004-01-05 07:13:00) 

Подскажите, пожалуйста. Помогите найти другое решение.
Есть 2 таблицы: главная и подчиненная. Запросом беру необходимые данные из подчиненной и сравниваю циклом в цикле
while not eof Table1 и while not eof Запрос, и если Table1.Field1=Запрос.Field1, то Table1 корректирую и Table1.Field2 присваиваю значение из определенного поля запроса. Затем Table1.First, а Запос.Next и все сначала.
Процесс идет довольно длительно, учитывая что Table1 крутится с начала до самого конца столько раз, сколько записей в запросе. Может, есть другой выход?


Julia   (2004-01-05 13:24:00) [1]

Ну и с наступающим РОЖДЕСТВОМ за одно!


Sandman25   (2004-01-05 13:22:00) [2]

[44] paul_k © (05.01.04 13:20)

Естественно, и Вас так же.


paul_k   (2004-01-05 13:20:00) [3]

Julia
И Вас также
Sandman25
С прошедшими


Sandman25   (2004-01-05 13:17:00) [4]

Взаимно :)


Julia   (2004-01-05 13:17:00) [5]

Мальчики, деликатно прерву ваш диалог. Идея понятна. На том и спасибочки. С новогодними вас праздниками :)


paul_k   (2004-01-05 13:12:00) [6]

2Sandman25
Все может быть.....
а логи писать надо


Sandman25   (2004-01-05 13:08:00) [7]

[39] paul_k © (05.01.04 13:00)

Как раз таки против непродвинутых лучше дублировать инфо. Если они исправят сумму только в той ("главной") таблице, по которой идет расчет отчетов, то верные данные можно будет восстановить по "детальной" таблице, найдя суммы заново :)


paul_k   (2004-01-05 13:00:00) [8]

2Sandman25
От злостных - да, а от "продвинутых усеров", которым какой-нить вася показал как данные в табличке править а про наличие связанных таблиц сказать забыл (а таких большинство в конторах сидит, в смысле усеров) вполне поможет. и даже дату правки можно примерно понять
но это было только предположение - зачем подобную сумму хранить


Sandman25   (2004-01-05 12:53:00) [9]

[36] paul_k © (05.01.04 12:49)

О чем Вы говорите, тут ведь Paradox используется. Никаких триггеров, view, разделения прав доступа. А в таком случае с помощью редактирования записей можно добиться чего угодно. Никакая структура БД не защитит от злостных вредителей, изменяющих данные в свою пользу.


paul_k   (2004-01-05 12:52:00) [10]

И в продолжение.
Для Вашей задачи , ИМХО, вообще дельфи практически не нужны.
Надо нарисовать красивый отчет в том-же CrystalReporte, например
и передав в отчет к примеру id клиента и период получить красивошную бамажку.


paul_k   (2004-01-05 12:49:00) [11]

2Julia
Если смотреть с точки зрения правильного проектирования БД мой ответ является бредом сивой кобылы.
Вы спросили как сделать фигню - я Вам это сказал. как говорится - какой вопрос, такой ответ.
Но должен добавить, что последующие ораторы абсолютно правы.
нельзя хрранить в главной таблице данные из подчиненных.
простейший пример: "продвинутый" усер через какой нибудь DbExpert грохнул запись в подчиненной. вывод - Ваши данные можно выбросить, или подобное "обновление" главной таблицы надо проводить на каждый просмотр.
То есть если Вы хотите хранить сумму каждого перечня в шапке просто для отображения в списке - это бред. Если Вы храните эту сумму как "контрольную" и рядом отображаете сумму перечня, то может это и имеет некий смысл. Но тогда логичнее хранить все контрольные суммы в отдельной таблице что-бы можно было видеть историю их изменения


Julia   (2004-01-05 12:47:00) [12]

>Johnmen © (05.01.04 12:34) [33]
Нужно обработать информацию по каждому пациенту (главная база), учитывая оказанные ему услуги (подчиненная таблица) ЗА МЕСЯЦ. И на основании этих данных (и еще многих других) расчитать МЕСЯЧНУЮ з/плату медицинскому персоналу (причем, по бюджету и платно), показатели их работы. Рыться то там, то там затруднительно и практически невыполнимо. Вся информация должна быть в одном месте, чтобы наряд по пациенту имел окончательный вид и был готов к многочисленным расчетам. Запрос не прокатит.
Если есть время и желание, можешь ещё отговаривать меня от идеи хранить в одном месте. Но в данном случае это целесообразно. Жду идей. А в общем-то, идеи уже были.


Sandman25   (2004-01-05 12:47:00) [13]

В моем случае суммировались товары покупки и записывались в таблицу покупок. В отчетах, в основном, фигурируют суммы покупок, изменение покупок запрещено, поэтому нет смысла каждый раз устраивать select sum, сумма покупки - статичная информация.
Но подождем автора, у нее, похоже, другая ситуация.


Johnmen   (2004-01-05 12:34:00) [14]

>Julia (05.01.04 12:28)
>Прошу прощения, если вывела вас из себя.

Не удастся :)

По поводу "сборки в одном месте" уже всё сказали.
Но мне интересно, зачем собирать, т.е.хранить, то, что всегда можно получить запросом... Насколько оправдана такая денормализация.


Julia   (2004-01-05 12:28:00) [15]

>Johnmen © (05.01.04 12:17) [31]
Прошу прощения, если вывела вас из себя. Все же это интерактивное общение, а не "в живую". Данные ДОЛЖНЫ быть собраны в главной (и не только эти, а многие другие. Они должны находиться в одном месте. Вот и собираю...). Если все понятно, ждем идей.


Johnmen   (2004-01-05 12:17:00) [16]

>Julia

О, Господи ! Да понятно, что вы делаете !!! Я просто поинтересовался - ЗАЧЕМ ??? В ЧЕМ ВЫГОДА ОТ НАЛИЧИЯ СУММЫ В ГЛАВНОЙ ТАБЛИЦЕ ? (в данном конкретном случае...)


Julia   (2004-01-05 12:13:00) [17]

>Johnmen © (05.01.04 12:01) [29]
>Зачем эта "обработка" вообще нужна ? В принципе ?

Выбрать все записи подчиненной таблицы связанные с записью в главной, проссумировать поле n в подчиненной и записать это значение в поле k главной таблицы. А потом я работаю с главной для дальнейших расчетов зарплаты и т.д. и т.п.


Johnmen   (2004-01-05 12:01:00) [18]

>Julia

Девушка, а вы мои посты читаете ? Вопросы уточняющие понимаете ?
Ещё раз. Зачем эта "обработка" вообще нужна ? В принципе ?


Julia   (2004-01-05 11:58:00) [19]

>Sandman25 © (05.01.04 11:54) [27]
НЕТ-нет .Это не тебе. Это Johnmen © (05.01.04 11:41) [24]. А тебе Sandman25 большое спасибо за подтверждение моей мысли.


Sandman25   (2004-01-05 11:54:00) [20]

[26] Julia (05.01.04 11:50)

Если это мне, то я в курсе. Прсото хотел написать, что дело не в том, что СУБД Paradox, а в настройках компьютера или самой программе.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо