2011-05-12 48 views

回答

1

加入

SELECT Products.*, COUNT(Buy.ID) AS Bought 
FROM products 
    LEFT OUTER JOIN Buy ON products.ID = Buy.product_id 
GROUP BY Buy.product_id 

子查詢

SELECT 
    Products.*, 
    (SELECT COUNT(ID) FROM Buy WHERE product_id = Products.ID) AS Bought 
FROM products 
+0

謝謝!一個側面問題:關於兩者之間的表現的任何想法? – randomguy 2011-05-12 19:23:48

+0

像任何良好的數據庫答案,這取決於。通常,JOIN將是最好的選擇。我會嘗試他們兩個,看看執行計劃。 – 2011-05-12 19:37:16

1
SELECT p.*,COUNT(b.product_id) FROM products p 
INNER JOIN buy b ON p.id=b.product_id 
GROUP BY b.product_id 

這就是我所能提供的所有信息。如果上述不起作用,兩者的表格結構都會有幫助。

+0

伯爵在哪兒? – randomguy 2011-05-12 19:17:41

+0

感謝randomguy。我解決了上述問題。不幸的是無法測試。 – JClaspill 2011-05-12 19:31:12

3

線沿線的東西:

SELECT p.*, COUNT(buy.product_id) FROM product p INNER JOIN buy ON buy.product_id = p.id GROUP BY buy.product_id 

應該做的伎倆。

相關問題