2017-08-13 53 views
0

請你能幫得到以下所述情況查詢:從連接表中選擇所有和AVG

1 TABLE: shops: id | name | is_locked | 
2 TABLE: products: id | name | price  | shop_id 
3 TABLE: rates: id | rate | is_accepted | shop_id 

我有3代表的商店,店裏的產品和價格。現在我想對所有屬於未鎖定商店的產品進行分類,並按平均接受的商店價格進行排序。這個查詢應該如何?

+1

敬請份額表的樣本數據,預期成果和查詢你試過至今(不完整的,壞,最壞的等等)。 – zarruq

回答

1

你可以試試這個:

select p.name, p.price, AVG(r.rate) 
from shops s, products p, rates r 
Where s.is_locked <> 1 and 
     s.id = p.shop_id and 
     s.id = r.shop_id and 
     p.shop_id = r.shop_id 
group by p.id 
order by AVG(r.rate) 
+0

不幸的是AVG(r.rate)對所有產品都是一樣的,它不承認shop_id ... – jdoe

+0

@jdoe編輯我的答案。請立即檢查。 –

+0

好的,我認爲那個團隊是缺少的。感謝您指導我正確的解決方案:) – jdoe