Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите с запросом (Access 2003)
 
 автор: sapog6olotnij   (17.02.2009 в 11:56)   личное сообщение
19 Кб.
 
 

Существует старая база (структуру прикладываю)
Отступление: База старенькая, так сказать, первый блин комом, поэтому структура и названия полей неординарны...

tblCustomer - описывает получателей
idCustomer - уникальный номер получателя
CustomerName - имя получателя
ReportsTo - описывает принадлежность к получателю ( у получателя есть филиал) если ReportsTo = 0 (нулю) то это филиал, а если ReportsTo отлично от нуля то эта цифра показывает принадлежность к определённому филиалу.

Теперь суть вопроса: не могу написать запрос который учитывал бы операции филиалов прибавляя их к операциям Получателей. То есть в результате запроса выводились бы данные по каждому "Получателю" с учётом его филиалов


SELECT DISTINCTROW Format$(tblOperacii.Data,'"Кв"q yyyy') AS [Data по кварталам], tblOperacii.MaterialName, tblOperacii.CustomerId, Sum(tblOperacii.Summa) AS [Sum-Summa], Sum(tblOperacii.Mest) AS [Sum-Mest], Count(*) AS [Count-tblOperacii], tblCustomer.CustomerName

FROM tblCustomer LEFT JOIN tblOperacii ON tblCustomer.IdCustomer=tblOperacii.CustomerId

GROUP BY Format$(tblOperacii.Data,'"Кв"q yyyy'), tblOperacii.MaterialName, tblOperacii.CustomerId, tblCustomer.CustomerName, Year(tblOperacii.Data)*4+DatePart('q',tblOperacii.Data)-1;


Данный запрос выводит информацию по кварталам --- не складывая филиалы и получателей.

  Ответить  
 
 автор: osmor   (17.02.2009 в 12:16)   личное сообщение
 
 

а можно базочку с кусочком данных?
уровень "вложенности" какой?

еще я так и непонял получатель принадлежит филиалу или все же филиалы получателю ?

а если ReportsTo отлично от нуля то эта цифра показывает принадлежность к определённому филиалу.



То есть в результате запроса выводились бы данные по каждому "Получателю" с учётом его филиалов

  Ответить  
 
 автор: sapog6olotnij   (17.02.2009 в 12:42)   личное сообщение
11 Кб.
 
 

да сейчас вычленю кусочек или проще обнулю и наполню чем нить.
Уровень вложенности (не совсем понял) вроде Получатель --> Филиал не более того


еще я так и непонял получатель принадлежит филиалу или все же филиалы получателю ?
а если ReportsTo отлично от нуля то эта цифра показывает принадлежность к определённому филиалу.


То есть в результате запроса выводились бы данные по каждому "Получателю" с учётом его филиалов


Да опечатался : ReportsTo отлично от нуля то цифра указывает принадлежность определённому Получателю

P.s приложил чуть чуть заполненную (непонятно как ) базу

  Ответить  
 
 автор: Lukas   (17.02.2009 в 18:10)   личное сообщение
 
 

1. tblCustomer.ReportsTo:
Бубликово=1 (=IdCustomer) а не 0
Зябликово=2 (=IdCustomer) а не 0
2. Группировать по полю tblCustomer.ReportsTo
?

  Ответить  
 
 автор: osmor   (18.02.2009 в 09:01)   личное сообщение
11 Кб.
 
 

если я правильно понял задачу
Сделал в 2 запроса
1-й собственно суммирование по коду IDCustomer
2-й Вывод NameCustomer вместо IdCustomer

  Ответить  
 
 автор: sapog6olotnij   (18.02.2009 в 12:40)   личное сообщение
 
 

Да osmor задача понята правильно.
Теперь понятно что и как, а то я пытался все в 1 запросе реализовать и все никак не выходило.
Благодарю за помощь.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList