Witam, z góry przepraszam za tytuł, nie miałem pomysłu jak to sensownie opisać.
A więc tak mam tabelę w której przechowywane są informacje o operacjach przeprowadzonych na produktach.
Wykonuje zapytanie które ma mi zliczyć aktualny stan produktów:
SELECT
[a].[Item],
SUM([a].[Quantity]) AS [Count]
FROM
[products] [a]
WHERE
[a].[Location] IN ([...])
GROUP BY
[a].[Item]
ORDER BY [Count] DESC, [a].[Item] DESC
Potrzebuję do tego jeszcze wyciągnąć informację z kolumny [Serial], problem w tym że każdy z nich będzie inny a ja potrzebuję znać zapas całego zestawu zgrupowanego po [Item]. Z racji, że [Serial] może być dowolny to spróbowałem wykonać takie zapytanie:
SELECT
[a].[Item],
SUM([a].[Quantity]) AS [Count],
[b].[Serial]
FROM
[products] [a]
LEFT JOIN (SELECT TOP(1)
[a].[Item],
[a].[Serial]
FROM
[products] [a]
WHERE
[a].[Serial] != '') [b] ON [b].[Item] = [a].[Item]
WHERE
[a].[Location] IN ([...])
GROUP BY
[a].[Item], [b].[Serial]
ORDER BY [Count] DESC, [a].[Item] DESC
Jednak kolumna [Serial] dla wszystkich pozycji zwraca NULL
I tak w sumie nie bardzo rozumiem co jest źle w tej składni.
Zapytania są tutaj uproszczone aby zobrazować problem