![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по SQL [MSSQL, dBase, FoxPro, Paradox]
sterran © (2002-10-24 10:16:00)Есть БД с полями Табельный номер и начисленная зарплата
TNOM ITNCH
========================
00001 32526.00
00002 24521.26
00003 18562.20
.
.
.
00001 5083.69
00002 1725.63
00003 200.00
Для того чтобы узнать общую сумму начисление каждого табельного номера достаточно выполнить
стандартную агрегатную функция SUM и сгруппировать по табельным номерам.
А существует ли какой не будь способ для выполнения операции обратной операции SUM, т.е. если нужно вычесть одну величину начисления из другой и сгруппировать их опять же по табельному номеру.
Буду очень признателен если кто-нибудь подаст толковый совет
sterran (2002-10-24 11:30:00) [1]спасибо, догнал
Johnmen (2002-10-24 11:11:00) [2]Ты что-то не догоняешь...Еще раз :
>...первое встречающее значения ...
Первое встречающееся где ? И как это определено ?
(24.10.02 11:02)
Если так ставится вопрос, то совершенно определенно можно сказать, что база спроектирована коряво...
Если под начислениями подразумеваются и удержания, то они д.б. хотя бы отрицательными !
sterran (2002-10-24 11:02:00) [3]>Johnmen © (24.10.02 10:45)
причем здесь логическая структура,
Я же имею ввиду не вычитание значения одного поля с другого, это я и сам умею
Согласен, может вопрос поставлен не очень корректно, но мне нужно узнать существует ли какая-нибудь агрегатная функция обратная SUM и все.
Еще раз привожу пример как должен идти процесс вычисления на примере т.номера 00001:
берется его первое встречающее значения 32526,00 из него вычитают второе встречающееся значение 5083,69
в итоге должна получиться и так для всех т.номеров В итоге должна получиться таблица
TNOM ITNCH
=======================
00001 27442.31
00002 22795.63
00003 18362.20
Johnmen (2002-10-24 10:45:00) [4]>sterran © (24.10.02 10:36)
>...из встречающихся ниже
В каком смысле ? Ниже уровня океана ? :)))
Добрый совет - пересмотри логическую структуру таблиц БД.
sterran (2002-10-24 10:36:00) [5]Нужно вычитать значения поля ITNCH из встречающихся ниже, использую таблицы DBASE
т.е. это будет выглядеть так для таб.ном
32526,00-5083,69и т.д. ровно столько раз сколько раз попдаются одинаковые таб. номера
ЮЮ (2002-10-24 10:24:00) [6]Какую и из какой? Их только две для одного таб.#?
И всё-таки MSSQL или (dBase, FoxPro, Paradox)? У них возможности SQL разные.
Johnmen (2002-10-24 10:22:00) [7]Способы существуют всегда...
Чтобы получить толковый ответ, необходим толковый вопрос. :)