2015-06-27 48 views
0

我有一個三表。
1)tbl_product基表//存儲產品信息。如何獲得第三個表的計數與組concat

id int(11) unsigned 
product_type_id int(11) unsigned 
product_image varchar(255) 
title varchar(255) 
description text 
price float(8,2) 
discount_price float(8,2) 
status tinyint(1) 
created_at datetime 
updated_at datetime 

2)tbl_product_review //存儲每個產品的評論。

id int(10) unsigned 
product_id int(10) unsigned 
title varchar(255) 
description text 
star_rating int(1) 
status int(1) 
created_at int(10) 

3)tbl_wishlist //用來存儲用戶的心願細節意味着,當用戶添加任何產品到他/她的心願保存在該表

id int(11) unsigned 
product_id int(11) unsigned 
user_id int(11) unsigned 
status tinyint(1) unsigned 
created_at datetime 

這是我的表架構項。我想根據產品ID使用組concat來獲取用戶的ID。意味着如果產品ID是1,那麼所有用戶的ID都會像這樣產生(1,3,4,5)。接下來是,我想要每個產品的產品評論總數。例如,如果用戶標識爲1,則產品編號帶有1或0(如果有或沒有)。

其實我想這種類型的輸出

id product_type_id title    description    price discount_price  product_image  users total_review 
1 1    Product one   Product one description 786  50    product.jpg  1,2   2 

我想通過一個單一的query.I這樣做不希望開始循環後獲得超過半數旁邊資料後,取前半部分的信息。我想你明白我的問題。

+0

請編輯您的問題,並以表格格式添加示例數據和所需結果。 –

+0

其實我想要這種類型的輸出 – Arya

+0

你已經試過了嗎? – SagarPPanchal

回答

1

您可以嘗試如下。您可以從相應的表中獲取用戶列表並計數,然後使用JOIN他們用product表獲得綜合結果。

select p.*,XX.total_review,XXX.user_list 
from tbl_product p join (

select product_id, count(*) as total_review 
from tbl_product_review 
grup by product_id 
) XX on product_id = XX.product_id 
join (
select product_id,group_concat(user_id) as user_list 
from tbl_wishlist 
group by product_id 
) XXX on p.product_id = XXX.product_id 
+0

真棒其工作。謝謝Rahul。 – Arya

相關問題