[英]how to get third table count with group concat
我有三個桌子。
1)tbl_product基本表//用於存儲產品信息。
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)。 接下來是,我想要每個產品的產品評論總數。 例如,如果用戶ID為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
我想通過一個查詢來做到這一點。我不想在開始循環后獲取前一半信息而不是獲取下一半信息。 我想你明白我的問題。
您可以嘗試如下。 你可以得到concated用戶列表,並從各自的表數,然后可以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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.