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

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

SQL, кто может дать совет... [D6, dBase, FoxPro]


Страницы:   1 2

dima2002 ©   (2002-04-29 15:46:00) 

У меня есть 4 таблицы одна Главная , в ней есть поле kmx,
у трёх детайлз - таблиц есть такое же поле kmx, нужно составить запрос для получения данных для отчёта (где kmx берётся из главной таблицы, и проверяется на соответствие в трёх других,
sch и sub - из Таблицы1, Сумма1-Сумма3 - соответственно из Таблиц1-3):

kmx1 sch(1) sub(1)Сумма1() Сумма2() Сумма3() Сумма4()
sch(1) sub(2)Сумма1() Сумма2() Сумма3() Сумма4()
........ ...............
sch(n) sub(m)Сумма1() Сумма2() Сумма3() Сумма4()
Итого_kmx1: Общ сум1 Общ сум2 Общ сум3 Общ сум4

kmx2 sch(1) sub(1)Сумма1() Сумма2() Сумма3() Сумма4()
sch(1) sub(2)Сумма1() Сумма2() Сумма3() Сумма4()
........ ..............
sch(n) sub(m)Сумма1() Сумма2() Сумма3() Сумма4()
Итого_kmx2: Общ сум1 Общ сум2 Общ сум3 Общ сум4
......................................................
kmx(i) ....................
Итого_kmxi: Общ сум1 Общ сум2 Общ сум3 Общ сум4

Можно ли вообще составить SQL запрос для получения подобного набора данных? Сколько я ни мучался - ничего не выходит.
я пробовал:

select distinct maint.kmx,t1.sch,t1.sub,SUM(t1.ss),..SUM(t4.ss)
where
t1.kmx = maint.kmx and
t2.kmx = maint.kmx and
t3.kmx = maint.kmx
group by
maint.kmx,t1.sch,t1.sub

но выводятся все записи для для каждого значения kmx, мне нужно, чтобы запись
kmx1 sch(1) sub(1) Сумма1() Сумма2() Сумма3() Сумма4() - была уникальной для 3 полей kmx,sch,sub, а не только для kmx как так сделать? Можно без итого - это вообще загадка, не знаю как делать..


dima2002   (2002-04-29 17:52:00) [21]

Даже при такой комбинации идут повторяющиеся суммы:
select
distinct tr014.kmx,
tr004.S_DEBET,
tr004.C_DEBET,
tr006.S_DEBET,
tr006.C_DEBET,
SUM(tr016.CENA),
SUM(tr004.cena*tr004.kolt),
SUM(tr006.ctpok*tr006.kolt)
from
tr016,tr004,tr006,tr014
where
tr004.S_DEBET=tr006.S_KREDIT and tr004.C_DEBET=tr006.C_KREDIT and
tr016.SCH=tr006.S_KREDIT and tr016.SUCH=tr006.C_KREDIT and
tr016.kmx=tr006.kmx and
tr004.kmx=tr006.kmx and
tr006.kodz="03" and
tr004.kodz="03"
group by
tr014.kmx,
tr004.S_DEBET,
tr004.C_DEBET,
tr006.S_DEBET,
tr006.C_DEBET,
tr004.kolt,tr006.kolt


Страницы:   1 2

Наверх

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