Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как сделать такой Sql-запрос  (Прочитано 12391 раз)
0 Пользователей и 1 Гость смотрят эту тему.
little
Помогающий

de
Offline Offline
Пол: Мужской

« : 21-07-2003 07:08 » 

Вопрос можно ли это сделать средствми sql-запросов:

У меня есть 5 таблиц:
tblItems - каталог товара (ItemId, ItemName)
tblSupplies - таблица поставок (SupplyID, SupplyDate)
tblSupplyLines - содержимое поставок (SupplyID, SupplyLineID, ItemID, Qtty)
tblSales и tblSaleLines - таблица продаж и их содержимое (аналогично предыдущим двум таблицам).

Мне нужно формировать отчет по товару за период - будут заданы ItemID и две даты. Нужно получить результат примерно такого вида:
21.06.2003 поступило 6
21.06.2003 продано 4
21.06.2003 остаток 2
22.06.2003 поступило 10
22.06.2003 остаток 12
23.06.2003 продано 7
23.06.2003 остаток 5


Можно ли решить этот вопрос средствами sql или придется обрабатывать данные програмно?
Записан
Fireworm
Гость
« Ответ #1 : 21-07-2003 10:06 » 

Все зависит от СУБД.
Записан
little
Помогающий

de
Offline Offline
Пол: Мужской

« Ответ #2 : 21-07-2003 11:10 » 

MS Access 2000
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 21-07-2003 12:43 » 

Access2000 понимает объединение (JOIN) ?
Если да, то делается это в два запроса - первый для поставок, второй для продаж.
Код:

SELECT SupplyDate,'поступило',Qtty FROM tblSupplies LEFT JOIN tblSupplyLines USING )SupplyID: WHERE ItemID=... AND SupplyDate BETWEEN ... AND ...

Лучше сверься с документацией.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
little
Помогающий

de
Offline Offline
Пол: Мужской

« Ответ #4 : 22-07-2003 05:22 » 

Join поддерживает, сегодня попробую.
Записан
riman
Участник

ru
Offline Offline

« Ответ #5 : 31-07-2003 13:25 » 

Тебе нужно не join использовать, а UNION, потому что первый добавляет по горизонтали столбцы, а второй строки. А может я не правильно понял. Отлично
Записан
little
Помогающий

de
Offline Offline
Пол: Мужской

« Ответ #6 : 01-08-2003 06:09 » new

В принципе, да. Union тут и нужен. На неделе попробую.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines