Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
14-1095161073
X9
2004-09-14 15:24
2004.10.03
Покупать или нет? MSND .Net 3 CD


6-1091016328
Slaga
2004-07-28 16:05
2004.10.03
Список пользователей


1-1095691197
Goga
2004-09-20 18:39
2004.10.03
Управление объектом


1-1095196082
kle[z]a
2004-09-15 01:08
2004.10.03
нестандартные формы


1-1095430417
Nils
2004-09-17 18:13
2004.10.03
Глюк с Exel2000 в D7





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский