我有一個查詢,列出的特徵,基於組件的狀態和可用性的添加量乘以SUM結果SQL查詢通過內部元素
SELECT Brand.Id
, Brand.Name
, Brand.Impact
, Brand.Visibility
, Brand.Risk
, SUM(Brand.Impact + Brand.Visibility + Brand.Risk) AS Priority
FROM Brand
LEFT OUTER JOIN Type
ON Brand.Id = Type.FeatureId
LEFT OUTER JOIN Model
ON Type.Id = Model.SubFeatureId
LEFT OUTER JOIN TestingStatus
ON Model.StatusId = TestingStatus.Id
WHERE (Model.IsDeleted = 'False')
AND (Brand.IsDeleted = 'False')
AND (Type.IsDeleted = 'False')
AND (@TeamId = 0 OR Model.TeamId = @TeamId)
GROUP BY Brand.YearId, Brand.Id, Brand.Name, Brand.Impact, Brand.Visibility, Brand.Risk
HAVING (Brand.YearId = @YearId)
我的結果如下:
ID Name Impact Visibility Risk Priority
403 Chevy 1 2 3 48
404 Nissan 1 1 1 24
405 Toyota 3 2 1 42
而不是
ID Name Impact Visibility Risk Priority
403 Chevy 1 2 3 6
404 Nissan 1 1 1 3
405 Toyota 3 2 1 6
這些品牌中的每一個都分別有8,8和7個型號。這意味着我的查詢正在爲它們計算優先級:Impact*models + Visibility*models + Risk*models
。
我怎樣才能讓我的SQL查詢不執行乘法?
感謝
就是你優先剛剛應該是總的影響,可見性和風險? – Taryn 2012-04-26 23:39:29
是@bluefeet,這是正確的。 – LanFeusT 2012-04-26 23:41:29