2015-07-15 3 views
0

Я до сих пор немного новичок для доступа. Я отслеживаю инвентарь медицинских принадлежностей. У меня есть таблицы, разделенные на месяц, которые они инвентаризированы. Я хотел бы запросить запрос, чтобы суммировать все категории за каждый месяц. Я начинаю с двух месяцев, чтобы узнать, смогу ли я правильно это исправить, а затем построить там. Я вижу правильные значения, но не могу суммировать общее количество, так как имя одно и то же. Также, вероятно, будут месяцы, когда элемент появится только один раз, и я бы не хотел, чтобы те были исключены. Вот что у меня есть:Базовый запрос на доступ к базам

SELECT MSCat.ItemNumber 
    , Sum(FebQ.SumOfQuantity) AS SumOfSumOfQuantity 
    , Sum(JanQ.SumOfQuantity) AS SumOfSumOfQuantity1 
FROM (FebQ 
JOIN MSCat 
    ON FebQ.ItemNumber = MSCat.ItemNumber) 
JOIN JanQ 
    ON MSCat.ItemNumber = JanQ.ItemNumber 
GROUP BY MSCat.ItemNumber; 

ответ

0

Ваш дизайн базы данных не в порядке. Вы не должны создавать новую таблицу за каждый месяц. Все данные должны быть в одной таблице со столбцом «месяц». Это принесет вам больше проблем, чем вы можете себе представить.

Чтобы дать ответ (которым вы не должны использовать из-за неправильного дизайна таблицы):

select mscat.itemnumber 
,  (select sum(sumofquantity) from janq where janq.itemnumber = mscat.itemnumber) as jansum 
,  (select sum(sumofquantity) from febq where febq.itemnumber = mscat.itemnumber) as febsum 
from mscat 
; 
+0

Благодарим за предложение. Кажется, что вы правы, и я должен пойти дальше и перепроектировать базу данных и исключить таблицы месяца. Еще раз спасибо за помощь. – AccessBeginner

Смежные вопросы