Вниз
Скачать: CL | DM;

SQL   Найти похожие ветки 

← →
Senator   (2004-09-01 10:53) [0]

Такой вопрос:
есть таблица
ID|Cost|Parent
--------------
1 |10  |null
2 |20  |1
3 |30  |1

мне надо получить результат запроса, такого вида
ID|Cost
--------
1 | 60
2 | 20
3 | 30

Т.е. по ID  надо получить сумму как родную, так и дочерних ID.
Помогите написать запрос....


← →
Ozone ©   (2004-09-01 10:58) [1]

Тупо конечно, но может в OnGetText эту сумму искать...


← →
Ozone ©   (2004-09-01 10:58) [2]

Тупо конечно, но может в OnGetText эту сумму искать...


← →
Роман Снегирев   (2004-09-01 11:03) [3]

а че такое 60,20,30 я что то логики здесь не набдюдаю


← →
Senator   (2004-09-01 11:06) [4]

Мне нужен чистый SQL без привязки к Delphi.
Я понимаю что нужно использовать объединение таблицы с самой собой.
select
t1.id,
t1.cost+sum(t2.cost)
from
tb2 t1
left join tb2 t2 on t2.parent=t1.id
group by
t1.ID,t1.cost

но при суммировании кроме первой записи, у которой есть потомки получаються null, т.к. число+null=null


← →
Senator   (2004-09-01 11:07) [5]

to Снегирев:
60=10+20+30
20=20
30=30
говорю, ж нужно получить сумму как свою так и потомков (Parent)


← →
Роман Снегирев   (2004-09-01 11:09) [6]

назначь для поля parent какое-нибудь значение по умолчанию, пора бы уж к этому привыккнуть (в смысле не допускать значений null)


← →
Senator   (2004-09-01 11:09) [7]

условия вопроса изменить низзя


← →
Sergey13 ©   (2004-09-01 11:15) [8]

2 [6] Роман Снегирев   (01.09.04 11:09)
И что это решит?

2Senator   (01.09.04 10:53)
Тут наверное только ХП поможет, а если еще и уровней больше 2 то и подавно. Не поддерживает ИБ "деревянные" запросы.


← →
Плохиш ©   (2004-09-01 11:18) [9]


> Senator   (01.09.04 11:06) [4]

> но при суммировании кроме первой записи, у которой есть
> потомки получаються null, т.к. число+null=null

Если в IB есть функция, типа COALESCE, то использовать её для замены null на 0


← →
Senator   (2004-09-01 11:43) [10]

to Плохиш:
Огромное спасибо...помогло



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
8-1085232886
Вадим
2004-05-22 17:34
2004.10.03
Декодирование DTFM


6-1087729568
Сергей Г
2004-06-20 15:06
2004.10.03
Internet & SMS


3-1094024965
Drakosha
2004-09-01 11:49
2004.10.03
Помогите разработать структуру БД


6-1090467238
НовиЧок
2004-07-22 07:33
2004.10.03
Блокировка ошибок в WebBrowser e


6-1091079732
snake1977
2004-07-29 09:42
2004.10.03
Запрос получения страницы




   Наверх