के साथ कुल गणना प्राप्त करें मुझे ग्राहक द्वारा दिए गए आदेशों की कुल गणना प्राप्त करने में सक्षम होना चाहिए, लेकिन एक प्रश्न में शीर्ष उत्पाद भी ढूंढना चाहिए। निम्नलिखित संरचना में उदाहरण के लिए,,एसक्यूएल सर्वर - शीर्ष 1 उत्पाद
SELECT * FROM #Cust AS C OUTER APPLY
(
SELECT TOP 1 SQ.ProductId, SUM(SQ.TotalCount) AS TotalQty FROM
(
SELECT O.ProductId, COUNT(*) TotalCount
FROM #Orders AS O WHERE O.CustId = C.CustId
GROUP BY O.CustId , O.ProductId
) SQ
GROUP BY SQ.ProductId
) X
लेकिन
CREATE TABLE #Cust (CustId INT, CustName VARCHAR(50))
CREATE TABLE #Product (ProductId INT, ProductName VARCHAR(10))
CREATE TABLE #Orders (CustId INT, ProductId INT, OrderTaken BIT)
INSERT #Cust
(CustId, CustName)
VALUES (1, 'Paul'),
(2, 'F'),
(3, 'Francis')
INSERT #Product
(ProductId, ProductName)
VALUES (1, 'Table'),
(2, 'Chair')
INSERT #Orders
(CustId, ProductId, OrderTaken)
VALUES (1, 1, 1),
(1, 1, 1),
(1, 2, 1),
(2, 1, 1)
मैं एक प्रश्न के साथ आए हैं के लिए, कि मुझे, परिणाम मैं देख रहा हूँ न जताए पॉल के लिए यह मुझे दे रहा है सही उत्पाद आईडी, लेकिन अकेले उस उत्पाद की गिनती।
मैं एक क्वेरी लौटना चाहते,
CustId | CustName | ProductId | TotalQty
--------+---------------+---------------+------------
1 | Paul | 1 | 3
2 | F | 1 | 1
3 | Francis | NULL | NULL