Hi All,
I have this query and I want to show single entry on the every records, I already use Group By, but it doesn't solve the problem.
Please help to find the problem.
=============================================================================================
SELECT EmployeeCode, Office, OfficeCode, EmployeeName, InvoiceTotal,SUM(TotalOrder)as TotalOrderFROM
(SELECT
e.OfficeCode,
(SELECTDISTINCT OfficeFROM OfficeCode ocWHERE oc.Code= e.OfficeCode)as Office,
e.OfficeCode+'-'+ e.EmployeeCodeas EmployeeCode,
(SELECT FirstName+' '+ LastNameFROM Person pWHERE p.PersonID= e.PersonID)as EmployeeName,
InvoiceTotal=CASEWHEN o.InvoiceDTBETWEEN @.StartDateAND @.EndDateTHENSUM(o.OrderFee)ELSE 0END,
TotalOrder=CASEWHEN o.InvoiceDTBETWEEN @.StartDateAND @.EndDateTHENCount(o.OrderID)ELSE 0END
FROM Employee e
LEFTJOIN oms.[OrderAssignment] oaON e.EmployeeID= oa.EmployeeID
LEFTJOIN oms.[Order] oON o.OrderID= oa.OrderID
LEFTJOIN OfficeCode ocON oc.Code= e.OfficeCode
WHERE e.OfficeCodeIN(SELECT ItemFROM dbo.SPLITPARAMETER(@.OfficeCode,','))AND
e.IsManager='True'AND
e.DivisionCodeIN(SELECT ItemFROM dbo.SPLITPARAMETER(@.DivisionCode,','))
GROUPBY e.OfficeCode, e.EmployeeCode, e.PersonID, o.InvoiceDT, o.OrderFee, o.OrderID)as tmp
GROUPBY EmployeeCode, Office, OfficeCode, EmployeeName, InvoiceTotal, TotalOrder
=================================================================================================
Thanks in advance.
Anyone please...|||I got it. The problem is I put Group By TotalOrder. If I take out the group by totalOrder, it will works just fine. Thanks.
No comments:
Post a Comment