Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: 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 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.043 c
3-1094024391
Koala
2004-09-01 11:39
2004.10.03
Клиент-сервер (MIDAS) под Firebird 1.5


4-1093619620
Sunny Way
2004-08-27 19:13
2004.10.03
Доступ к пикселам постороннего окна


1-1095273812
kand
2004-09-15 22:43
2004.10.03
Подскажит, что за параметры (EmptyParam) задаются при открыт


3-1094623708
Junior
2004-09-08 10:08
2004.10.03
AutoInc в таблице Paradox


4-1092436038
Jetus
2004-08-14 02:27
2004.10.03
Нацепить свою иконку на чужой ехе-файл





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский