Obecnie mam następujący wniosek, napisany w projektancie kwerend. Wczoraj zadałem pytanie, i zadziałał sam w sobie, ale chciałbym włączyć go w swój istniejący raport.
SELECT Distinct
i.ProductNumber
,i.ProductType
,i.ProductPurchaseDate
,ih.SalesPersonComputerID
,ih.SalesPerson
,ic2.FlaggedComments
FROM [Products] i
LEFT OUTER JOIN
(SELECT Distinct
MIN(c2.Comments) AS FlaggedComments
,c2.SalesKey
FROM [SalesComment] AS c2
WHERE(c2.Comments like 'Flagged*%')
GROUP BY c2.SalesKey) ic2
ON ic2.SalesKey = i.SalesKey
LEFT JOIN [SalesHistory] AS ih
ON ih.SalesKey = i.SalesKey
WHERE
i.SaleDate between @StartDate and @StopDate
AND ih.Status = 'SOLD'
Mój wczorajszy problem tkwił w tym, że chciałem znaleźć sposób, aby wybrać tylko pierwszy komentarz, wykonane dla każdej sprzedaży. Mam prośbę, aby wybrać oznaczonych komentarzy, ale potrzebuję jak pierwszy wiersz, jak i oznaczony komentarz. Obaj będą ciągnąć z powodu jednego stołu. To był dostarczony wniosek, i pracował sam w sobie, ale nie mogę zrozumieć, jak zmusić go do pracy z moim istniejącym zapytania.
SELECT a.DateTimeCommented, a.ProductNumber, a.Comments, a.SalesKey
FROM (
SELECT
DateTimeCommented, ProductNumber, Comments, SalesKey,
ROW_NUMBER() OVER(PARTITION BY ProductNumber ORDER BY DateTimeCommented) as RowN
FROM [SalesComment]
) a
WHERE a.RowN = 1
Bardzo wam dziękuję za pomoc.