![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL, кто может дать совет... [D6, dBase, FoxPro]
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