Вопрос по поводу присоединения к Sql Server 2012 - PullRequest
0 голосов
/ 30 августа 2018

У меня ниже список таблиц -

  1. ProductionEntryMain : - ProductionEntryMainId (Pk), ProductionDate и т. Д.
  2. ProductionEntryMaster : -ProductionEntryId (pk), ProductionEntryMainId (fk), код продукта, количество, идентификатор продукта и т. Д.
  3. ProductionReferenceDetails : - ProductionReferenceId (pk), ProductionEntryId (Fk), MaterialCode, ConsumedQuantity, OpItemId (используйте ключ ForeI OpItemId для ProductId в таблице ProductionEntryMaster и т. Д.)

Вот чего я хочу достичь:

fromdate to todate взять все productiondate из ProductionEntryMain, вернуть все productscode и sum of quantities и выбрать MaterialCode, sum of ConsumedQuantity из ProductionReferenceDetails

Например:

ProductionDate | ProductCode | Quantity | MaterialCode | ConsumedQuantity
---------------+-------------+----------+--------------+------------------
1/8/2018       | Pen         | 20       | Refil        |  20
                                     nip            20
                                     cap            20

Для создания 1 пера мне нужно 1 пополнение, 1 заглушка, 1 заглушка, так что, если в те годы было создано 20 перьев, мне нужно 20, 20 перерывов и 20 заглушек.

Я пробовал запрос

select 
    prdemstr.ProductCode,
    sum(prdemstr.Quantity) Total  
from 
    ProductionEntryMain prdemain 
inner join 
    ProductionEntryMaster prdemstr on prdemain.ProductionEntryMainId = prdemstr.ProductionEntryMainId
where 
    prdemain.ProductionDate between '2018-07-09' and '2018-07-10'
group by 
    prdemstr.ProductCode 
order by 
    prdemstr.ProductCode;

Этот запрос правильный, но я получаю только ProductCode и Количество в выводе.

Как мне узнать MaterialCode и Consumed количества и сумму этих значений, я не знаю. Я много пробовал, но не смог.

...