1
私は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
私がしたいのは、トップテーブルに量の列を補完することです。つまり、上記の最初の表と同じ行数を持つ表が必要ですが、存在する場合は金額の値を、それ以外の場合はnullが必要です。
私はこれを行う方法を理解できません。助言がありますか?
あなたは合計*と* tblOrderDetails' 'から細部の両方をしたいですか? –
どのバージョンのSQL Serverを使用していますか? –
私は合計を必要とします、私はtblOrderDetailsから何も必要ありません。私はSQL Server 9.0を使用しています。 – Baz