2016-10-26 2 views
0

Я написал этот запрос, и результаты не сгруппированы. Они появляются как таковые:Данные группы в запросе

Facility | Posting Month | Account Type | Amount 
------------------------------------------------- 
Name  | July   | Debit Adj. | 100 
Name  | July   | Credit Adj. | -200 
Name  | July   | Debit Adj. | 150 
Name  | July   | Credit Adj. | -150 
------------------------------------------------- 

Результаты, которые я пытаюсь получить это проводок месяц появляются один раз для дебетовой Adj. и Credit Adj. тип и соответствующие общие суммы. Итого 250 долларов США для дебитов и - 350 долларов США за кредиты. Спасибо за помощь!

SELECT pw.Facility, DATENAME(mm, pw.[Posting Date]) AS [Posting Month], 
    lc.[Gl Account Type], sum(pw.[Tx Amt]) AS Amount 
FROM DBO.PaymentWOLedger AS pw 
    JOIN DBO.LedgerCodeTable AS lc 
     ON lc.[Description] = pw.[Tx Desc] 
WHERE lc.[Gl Account Type] = 'Credit Adjustment (Write Off)' OR 
     lc.[GlAccount Type] = 'Debit Adjustment (CWO)' 
GROUP BY pw.[Posting Date], pw.Facility, lc.[Gl Account Type] 
ORDER BY pw.Facility, pw.[Posting Date] 

ответ

2

Использование Month вместо Date в Group by & Order by

GROUP BY DATENAME(mm, pw.[Posting Date]), pw.Facility, lc.[Gl Account Type] 
ORDER BY pw.Facility, DATENAME(mm, pw.[Posting Date]) 

в настоящее время данные сгруппированы по каждому date, так как вы использовали pw.[Posting Date] в Group by, который имеет date/month/year в нем участие.

+0

Awesome! Теперь это имеет смысл. Спасибо вам за помощь! – Tosh