Я использую SQL Server. Это заявление перечисляет мои продукты в меню:
SELECT menuname, productname
FROM [web].[dbo].[tblMenus]
FULL OUTER JOIN [web].[dbo].[tblProductsRelMenus]
ON [tblMenus].Id = [tblProductsRelMenus].MenuId
FULL OUTER JOIN [web].[dbo].[tblProducts]
ON [tblProductsRelMenus].ProductId = [tblProducts].ProductId
LEFT JOIN [web].[dbo].[tblOrderDetails]
ON ([tblProducts].Id = [tblOrderDetails].ProductId)
GROUP BY [tblProducts].ProductName
Некоторые продукты не имеют меню и наоборот. Я использую следующее, чтобы установить, что было продано для каждого продукта.
SELECT [tblProducts].ProductName, SUM([tblOrderDetails].Ammount) as amount
FROM [web].[dbo].[tblProducts]
LEFT JOIN [web].[dbo].[tblOrderDetails]
ON ([tblProducts].ProductId = [tblOrderDetails].ProductId)
GROUP BY [tblProducts].ProductName
Я хочу дополнить верхнюю таблицу столбцом суммы. То есть мне нужна таблица с тем же количеством строк, что и в первой таблице выше, но со значением количества, если оно существует, в противном случае - ноль.
Я не могу понять, как это сделать. Есть предложения?