2012-06-19 81 views
1

背景:有多個DBPArentProductKEys與POG.ID關聯。來自2個表的SQL計數

我需要計算髮生的Pog.DBKEYs的數量。現在,結果會計算總數據庫中的總POG.ID數值爲4,但我希望計數與DBparentproductkey相關聯。

select distinct 
    Count(pog.DBKey) as Total, 
    pos.DBParentProductKey 
from 
    ix_spc_planogram as pog with (nolock), ix_spc_position as pos with (nolock), 
    ix_spc_product as pro with (nolock) 
where 
    pog.dbkey = pos.dbparentplanogramkey 
    and pog.Value4 = 358 
group by 
    pog.DBKey, pos.DBParentProductKey 
+0

歡迎使用StackOverflow:如果您發佈代碼,XML或數據樣本,請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕(「{}」)格式和語法突出顯示它! –

+2

除了@marc_s提供的好建議外,如果您發佈SQL查詢類型問題的測試數據和預期結果,它也會有所幫助。 – dcp

+0

隱式連接語法(逗號分隔的'FROM'子句)被認爲是反模式。這可以幫助你發現缺少'JOIN'條件(如@dcp提到的),這可能會拋出你的結果(尤其是因爲你看起來並沒有使用表格......) –

回答

1

pog.DBKeyGROUP BY

另外,我認爲你錯過了一個連接條件。您對錶pro沒有加入條件。

最後,應該不需要DISTINCT