Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2010, 11:29   #1
Dimych
 
Регистрация: 03.04.2009
Сообщений: 7
По умолчанию Оборотная ведомость средствами SQL

Добрый всем день!
Программирую на Delphi и начал изучать SQL и возник вопрос о создании запроса, который бы выводил следующие столбцы
1. Материал
2. Начальный остаток
3. Приход
4. Расход
5. Конечный остаток

Таблица Регистр в MS Access имеет структуру
1. Код
2. Дата
3. Материал
4. Количество
5. Признак движения (если Истина, то Приход, иначе Расход)

Собственно вопрос, как написать все в одном запросе?
За ранее спасибо за помощь
Dimych вне форума Ответить с цитированием
Старый 02.09.2010, 11:37   #2
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

О, друг по крови)))
RuVarez вне форума Ответить с цитированием
Старый 02.09.2010, 11:39   #3
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

select {1..5 поля через запятую} from TABLE_NAME {наим.таблицы}
RuVarez вне форума Ответить с цитированием
Старый 02.09.2010, 15:18   #4
Dimych
 
Регистрация: 03.04.2009
Сообщений: 7
По умолчанию

смысл в том, что бы посчитать сумму отдельно прихода, отдельно расхода (Sum(Count) where Move=false или Sum(Count) where Move=true), так как записей в табцлице Регистр много по каждому материалу
Dimych вне форума Ответить с цитированием
Старый 02.09.2010, 15:54   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

так, пример для затравки...

Код:
select SUM(IIF(ПризнакРасхода, Количество, 0)) as СумПриход,
  SUM(IIF(ПризнакРасхода, 0, Количество)) as СумРасход,
  код,
  материал
from Регистр 
group by   код,  материал
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.09.2010, 17:19   #6
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

и в запрос от Serge_Bliznykov добавить по подзапросу остатков на дату_начала и дату_конца отчетного периода, в которых "сложить" расходы с приходами с учетом знаков
soleil@mmc вне форума Ответить с цитированием
Старый 02.09.2010, 18:21   #7
Dimych
 
Регистрация: 03.04.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение

Код:
select SUM(IIF(ПризнакРасхода, Количество, 0)) as СумПриход,
  SUM(IIF(ПризнакРасхода, 0, Количество)) as СумРасход,
  код,
  материал
from Регистр 
group by   код,  материал
Спасибо за ответ, но по ходу возник вопрос
Почему в строках подсчета прихода и расхода аргументы Количество и 0 меняются местами (в sql пока еще не силен)
Dimych вне форума Ответить с цитированием
Старый 02.09.2010, 20:29   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Количество и 0 меняются местами (в sql пока еще не силен)
Ну, если Вы посмотрите на свой первый пост, то увидите, что:
"Признак движения (если Истина, то Приход, иначе Расход)"
поэтому:
Если ПризнакРасхода == Истина, то к СумПриход прибавляем Количество
иначе к СумПриход прибавляем 0

Если ПризнакРасхода == Истина, то к СумРасход прибавляем 0
иначе к СумРасход прибавляем Количество

перефразируя, Количество мы учитываем или в СумПриход или в СумРасход в зависимости от значения поля ПризнакРасхода
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.09.2010, 08:47   #9
Dimych
 
Регистрация: 03.04.2009
Сообщений: 7
По умолчанию

Сегодня ночью догадался. Все равно спасибо большое за советы всем
Dimych вне форума Ответить с цитированием
Старый 03.09.2010, 10:42   #10
Dimych
 
Регистрация: 03.04.2009
Сообщений: 7
По умолчанию

На практике ничего не получилось. MS Access не поддерживает конструкцию IF. Есть какие-нибудь еще мнения?
Dimych вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматизация средствами Delphi >>arty<< Общие вопросы Delphi 18 06.08.2010 15:53
Анимация средствами Delphi7 Lao Мультимедиа в Delphi 27 14.06.2010 12:35
Форматирование средствами Delphi Life_Master Общие вопросы Delphi 4 20.05.2010 08:04
Экзаменационная ведомость (PHP) Light05 Помощь студентам 2 15.03.2010 06:53
БД средствами VS2008 C++ nazavrik Visual C++ 1 25.11.2009 18:33