我有一個像下面SQL服務器 - OR子句中加入混亂
Package
PACK_ID | DESCR | BRAND_ID
1 | Shoes | 20
2 | Cloths| NULL
ITEMS
ITEM_ID | PACK_ID | BRAND_ID
100 | 1 | 10
101 | 1 | NULL
102 | 1 | 10
BRANDS
NAME | BRAND_ID
A | 10
B | 20
我想編寫一個查詢,列出多少個項目由同一品牌的分組包是否有表結構。如果品牌沒有在物品中定義,它應該從包裝中獲得。 注:Brand_id兩個包和項目可以爲空
我的查詢是這樣的
SELECT count (*) as count,p.descr as descr,b.name FROM [items] item
inner join [package] p on item.pack_id= p.pack_id
inner join [brands] b on b.brand_id = item.brand_id or b.brand_id = p.brand_id
where p.pack_id = 1
group by b.name,p.descr
,我的結果是
COUNT | descr | NAME
2 | Shoes | a
3 | Shoes | B
,而我希望得到的結果是這樣的
COUNT | descr | NAME
2 | Shoes | a
1 | Shoes | B
請問你能提出我的代碼有什麼問題嗎?提前致謝。