이 4 개의 테이블이 있습니다.
관리자, 판매, 판매 세부 정보, 제품 :
각 관리자에 대해 검색하려고합니다. SaleDate 및 고유 제품 수;
내 선택은 다음과 같습니다.
;WITH cte
AS
(
SELECT sd.SaleID, sd.ProductID FROM dbo.Products p
INNER JOIN dbo.SalesDetails sd ON sd.ProductID = p.ID
GROUP BY sd.SaleID, sd.ProductID
)
SELECT
c.Name AS ManagerName
,s.SaleDate
,COUNT(ct.ProductID) AS ProductCount
FROM cte ct
INNER JOIN dbo.Sales s ON ct.SaleID = s.ID
INNER JOIN dbo.Managers c ON c.ID = s.ConsultantID
GROUP BY s.SaleDate, c.Name
이것이 최적입니까? 더 최적의 쿼리로 대체하도록 도와 주시겠습니까?
쿼리는 결과를 반환해야합니다.
SELECT c.Name AS ManagerName
,s.SaleDate
,COUNT(p.ProductID)
FROM dbo.Products p
INNER JOIN dbo.SalesDetails sd ON sd.ProductID = p.ID
INNER JOIN dbo.Sales s ON sd.SaleID = s.ID
INNER JOIN dbo.Managers c ON c.ID = s.ConsultantID
GROUP BY s.SaleDate, c.Name,sd.ProductID
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다