1
我有一個名爲SnackMaster
的表。SQL查詢優化2012
SnackID int
SnackName varchar(100)
SnackAmount decimal(18,2)
e.g:低於其結構給出
SnacksID : 1
SnacksName : Tea
SnacksAmount : 10.00
而且有一個名爲SnacksOrderDetais
其中包含員工小吃訂單另一個表。
OrderID int
EmployeeID int
SnackCount tinyint
TotalAmount decimal(18,2)
orderDate date
e.g:它的結構如下
OrderID : 1,
EmployeeID : 1,
SnackCount : 2 (two cup tea),
TotalAMount : 20 (2*10),
OrderDate : 2014-02-14
OrderID : 2,
EmployeeID : 2,
SnackCount : 2 (two cup tea),
TotalAMount : 20 (2*10),
OrderDate : 2014-02-14
我需要一個小吃彙總如下所示:
SnacksName : Tea,
SnackCount : 4 (that is 2 each from the above two orders),
TotalAmount : 40 (twenty from each orders)
我用下面的查詢來獲取結果。結果是好的,但我想知道是否有任何其他優化查詢可用?
SELECT DISTINCT SOD.SnacksID
,SnacksName
,(SELECT SUM(SnacksCount)
FROM SnacksOrderDetails
WHERE SnacksID = SOD.SnacksID) AS SnacksCount
FROM SnacksOrderDetails SOD
INNER JOIN SnacksMaster SM ON SOD.SnacksID = SM.SnacksID
WHERE SOD.OrderedOn = @OrderDate
Yes..Correct。不知何故忽略了它。現在糾正。 – Neels