2011-06-30 44 views
1

我有一個產品表,有以下字段發現從2代表總銷售額和總產品,包括小串聯

productid 
name 
price 
catid 
deleted  (can be any one from 'y' and 'n') 

,有一個銷售表

salesid 
productid 
salestime 
paymentstatus (enum, can have any one value: COMPLETED, REMAINING, CANCELLED) 

現在我需要的數據在下面的格式

catid   productids   totalproducts   totalsales 

其中

productids:這會列出所有的產品ID(逗號分隔),其中刪除= 'N',屬於特定類別

totalproducts:屬於特定類別,其中刪除= 'N'

totalsales產品:銷售,其中產品屬於特定類別並且paymentstatus ='COMPLETED'

任何幫助。

+0

查看問題http://stackoverflow.com/questions/6531228 – Giann

+0

@Giann:上面的問題與我的問題無關 –

回答

0

使用此查詢,您將獲得產品被刪除的特定類別的總銷售額。

你想要這個還是你想要一個類別的所有銷售,不管產品的狀態如何?

SELECT p.catid AS catid, 
     GROUP_CONCAT(DISTINCT p.productid SEPARATOR ',') AS productids, 
     COUNT(DISTINCT p.productid) AS totalproducts, 
     COUNT(s.salesid) AS totalsales 
FROM products p 
    LEFT OUTER JOIN sales s 
     ON s.productid = p.productid 
     AND s.paymentstatus = 'COMPLETED' 
WHERE p.deleted = 'n' 
GROUP BY p.catid