Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Знатокам процедур (хотя можно и запрос)   Найти похожие ветки 

 
ASVShade ©   (2005-10-20 21:21) [0]

Имеется таблица T её столбцы:
T.s1 - свойство1
T.s2 - свойство2
T.a  - некое число

Нужен запрсос(хранимая процедура) возвращающий
select s1, s2, a, aa, t

Где s1,s2,a исходные данные
aa - сумма всех a, где одинаковые s1
t - может быть (1,2 или 3)
1 - если s1 ранее не встречалось
2 - если s1 встречалось, а s2 не встречалось
3 - встречались и s1 и s2

Обязательное условие - менять порядок записей нельзя. Перебирать записи как они будут даны сервером.
(Пояснение: данные выданы процедурой, путём рекурсивной пробежки по дереву. Нужно выделить уникальные ветки (листики) и сосчитать сумму одинаковых веток(листиков))
Пример работы правильного запроса:

исходные данные
s1 s2 a
100 0 2
50 100 2
51 50 2
52 50 2
200 0 3
50 200 3
51 50 3
52 50 3
50 0 2
51 50 2
52 50 2
51 0 4
600 0 1

ответ
s1 s2 a aa t
100 0 2 2 1
50 100 2 7 1
51 50 2 11 1
52 50 2 7 1
200 0 3 3 1
50 200 3 7 2
51 50 3 11 3
52 50 3 7 3
50 0 2 7 2
51 50 2 11 3
52 50 2 7 3
51 0 4 11 2
600 0 1 1 1


 
evvcom ©   (2005-10-21 09:20) [1]

Это такие задачи в детском саду задают? Причем даже не говоря на чем реализовать?


 
ASVShade_   (2005-10-21 21:03) [2]

Ну пусть будут в детском саду.
Сервер IB6.5
Язак программирования Дельфя7

Уже неделю мучаюсь :(


 
Diesel_x34   (2005-10-28 09:48) [3]

Слушай, поле "аа" вытащить не проблема...

select s1, s2, a,
(select sum(a) from ta where s1 = ownta.s1 group by s1) as aa
from ta ownta


А вот "t"... Может легче это в Дельфи сделать?



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

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

Наверх




Память: 0.47 MB
Время: 0.056 c
14-1130681845
lookin
2005-10-30 17:17
2005.11.20
Как понять такую ошибку?


14-1130707552
NightLord
2005-10-31 00:25
2005.11.20
из D6 в D7


6-1122911784
Set33
2005-08-01 19:56
2005.11.20
Работа с прокси


2-1131229226
zaN0za
2005-11-06 01:20
2005.11.20
Подскажите пожалуйста, что я делаю не правильно.


2-1130955070
BobbyDigital
2005-11-02 21:11
2005.11.20
Время подсказки