![]() |
|
Модераторы: Akina |
![]()
|
|
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
здравствуйте снова,господа программисты.Наткнулся на задачку с составлением запроса следущего содержания:
есть таблица DEAL:data(datetime),univer(varchar),ostatok(float),prognoz(float),zakaz(float),zayavka(float): --data-----------------------univer-----ostatok---prognoz---zakaz----zayavka-- --07.09.2007--------------A1----------100--------15----------5----------NULL------ --08.09.2007--------------A1----------NULL------15----------5----------NULL------ --09.09.2007--------------A1----------NULL------15----------5----------NULL------ --10.09.2007--------------A1----------NULL------15----------5----------NULL------ --11.09.2007--------------A1----------NULL------15----------5----------NULL------ --12.09.2007--------------A1----------NULL------15----------5----------NULL------ --13.09.2007--------------A1----------NULL------15----------5----------NULL------ --07.09.2007--------------A2----------100--------15----------5----------NULL------ --08.09.2007--------------A2----------NULL------15----------5----------NULL------ --09.09.2007--------------A2----------NULL------15----------5----------NULL------ --10.09.2007--------------A2----------NULL------15----------5----------NULL------ --11.09.2007--------------A2----------NULL------15----------5----------NULL------ --12.09.2007--------------A2----------NULL------15----------5----------NULL------ --13.09.2007--------------A2----------NULL------15----------5----------NULL------ Т.е. простая табличка с перечислением остатков по каждому универу(артикулы)на каждую дату,начиная с текущей.Задача в том,чтобы получить выборку univer всех значений ,которые сейчас NULL. Вычисляются просто(проблема в том,как эти вычисления в запрос впихнуть):значение остатка=значение ostatok за предыдущий день-prognoz-zakaz.Программно сделать несложно,а вот я задумался,как можно с помощью запроса выбрать эти данные,а не считать программно.Есть какие-нибудь мысли? Добавлено @ 16:18 я так понял,без связей рядом стоящих записей не обойтись.А такое возможно?Я не сталкивался с этим-программно все время делал. Это сообщение отредактировал(а) Lunatikus - 7.9.2007, 16:18 -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| SergKO |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 14.3.2005 Репутация: 17 Всего: 20 |
как идея
|
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
идея отличная
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| SergKO |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 14.3.2005 Репутация: 17 Всего: 20 |
1. это просто идея.
2. вычитание начнется не со значения 100, а с первого d2.univer неравного @univer
Остальное - проверка, чтобы остаток не был меньше 0. 3. Дорабатывать надо для случая, когда даты идут не последовательно, а может быть разрыв более чем 1 день. И извлекать для расчетов с сортировкой order by univer, data. Это сообщение отредактировал(а) SergKO - 10.9.2007, 11:31 |
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
нет,все верно,теперь врубился.Первое несовпадение по универу и соответствует первой дате.
мне все же интересно,можно ли вот это
заменить каким-нибудь универсальным копированием,чтобы любую таблицу с данными ограничениями можно было перевести в копию для дальнейшего использования и апдейта,т.е. расчет остатков -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| SergKO |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 14.3.2005 Репутация: 17 Всего: 20 |
Если я правильно понял вопрос, то
И еще. Более универсально и независимо от шага даты будет, если в @DEAL добавить поле с identity и связывать по нему
ЗЫ Спасибо за "плюс в репу" Это сообщение отредактировал(а) SergKO - 11.9.2007, 05:31 |
||||
|
|||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
шаг даты всегда равняется одному дню,так что усложнения не надо =) чтож буду пробовать этот запрос подстраивать под себя...
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |