Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизЗнатокам процедур (хотя можно и запрос) Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.047 c