|
|
|
Как построить select или T-SQL процедуру? Help.
|
|||
|---|---|---|---|
|
#18+
Есть две таблицы: 1.Проводки (prov) Поля: id - уник.ID (перв.ключ) Deb - счет дебета Kred - счет кредита sum - сумма (комбинация счетов дебета и кредита может повторяться) 2.Аналитика по проводкам (an) Поля: id - внешний ключ к таб.проводок Acc - счет (здесь находится счет дебета или кредита - значения поля Deb или kred из таб. prov) CatAn - категория аналитики kodAn - код аналитики таблицы связаны один ко многим, т.е. в таблице аналитики расписана аналитика по каждой проводке по дебету и по кредиту. Требуется сделать типа: SELECT Deb,Kred,CatAn,KodAn,SUM(sum) from Prov,An group by Deb,Kred,CatAn,KodAn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 15:58:32 |
|
||
|
Как построить select или T-SQL процедуру? Help.
|
|||
|---|---|---|---|
|
#18+
Так ты же сам все и написал, надо добавить только связь между таблицами: SELECT p.Deb,p.Kred,a.CatAn,a.KodAn,SUM(p.sum) from Prov p INNER JOIN An a ON p.ID=a.ID group by p.Deb,p.Kred,a.CatAn,a.KodAn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 16:53:05 |
|
||
|
Как построить select или T-SQL процедуру? Help.
|
|||
|---|---|---|---|
|
#18+
Так получится не тот результат, который нужен. Просуммируется одна и та же сумма (поле SUM) в таблице prov, такое же кол-во раз, сколько строк есть в таб. An (по связи prov.ID <-> an.ID) А это не есть good. Надо чтобы SUM(Sum) в SELECTe с GROUP BY выдал ту же цифру что и select sum(sum) from prov и прогруппировал проводки с одинаковыми категориями и кодами аналитики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2002, 09:36:24 |
|
||
|
Как построить select или T-SQL процедуру? Help.
|
|||
|---|---|---|---|
|
#18+
Тогда непонятно - а из какой записи в таблице An должны братся CatAn и kodAn для текущей prov.ID ? Из первой ? Из последней ? Из произвольной ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2002, 11:22:11 |
|
||
|
Как построить select или T-SQL процедуру? Help.
|
|||
|---|---|---|---|
|
#18+
Prov id Deb Kred Sum 1 20 70 100 2 20 70 200 3 20 70 -50 An id Acc CatAn KodAn 1 20 'Per' 1 1 70 'Div' 111 2 20 'Per' 2 2 70 'Div' 111 3 20 'Per' 1 3 70 'Div' 111 #temp Deb Kred KatAnDeb KodAnDeb KatAnKred KodAnKred Sum 20 70 'Per' 1 'Div' 111 100 20 70 'Per' 2 'Div' 111 200 20 70 'Per' 1 'Div' 111 -50 Select Deb,Kred,KatAnDeb,KodAnDeb,KatAnKred,KodAnKred,SUM(Sum) from #temp group by Deb,Kred,KatAnDeb,KodAnDeb,KatAnKred,KodAnKred Результат должен быть: Deb Kred KatAnDeb KodAnDeb KatAnKred KodAnKred Sum 20 70 'Per' 1 'Div' 111 50 20 70 'Per' 2 'Div' 111 200 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2002, 11:06:44 |
|
||
|
Как построить select или T-SQL процедуру? Help.
|
|||
|---|---|---|---|
|
#18+
Что-то вроде такого Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2002, 15:39:27 |
|
||
|
Как построить select или T-SQL процедуру? Help.
|
|||
|---|---|---|---|
|
#18+
А если бы в таблице An имелся первичный ключ, то IMHO было бы лучше Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2002, 15:49:16 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32033645&tid=1822213]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 351ms |

| 0 / 0 |
