1
在另一个字段中使用聚合时,是否有安全的方式可以不需要按字段进行分组?以下是分组我只是得到984行,但由A.InvoiceDateId场分组后我得到了11K的行之前,我的例子摆脱分组字段
SELECT
C.CustomerName
,D.INDUSTRY_CODE
,CASE WHEN D.INDUSTRY_CODE IN ('003','004','005','006','007','008','009','010','017','029')
THEN 'PM'
WHEN UPPER(CustomerName) = 'ULINE INC'
THEN 'ULINE'
ELSE 'DR'
END AS BU
,ISNULL((SELECT SUM(GrossAmount)
where CONVERT(date,convert(char(8),InvoiceDateID)) between DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) - 1, 0) and DATEADD(year, -1, GETDATE())),0) [PREVIOUS YEAR GROSS]
FROM factMargins A
LEFT OUTER JOIN dimDate B ON A.InvoiceDateID = B.DateId
LEFT OUTER JOIN dimCustomer C ON A.CustomerID = C.CustomerId
LEFT OUTER JOIN CRCDATA.DBO.CU10 D ON D.CUST_NUMB = C.CustomerNumber
GROUP BY
C.CustomerName,D.INDUSTRY_CODE
,A.InvoiceDateID
order by CustomerName
。由于每个客户有多个发票,所以这些行会被炸毁。 Min和Max不会工作,因为那样会导致数据不正确。是否最好让我的应用程序(水晶)摆脱多余的线?通常,我希望我的基础数据尽可能接近报表的布局,如果可能的话。
这有助于感谢 –