如何获得第三个表的计数与组concat
问题描述:
我有一个三表。
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这样做不希望开始循环后获得超过半数旁边资料后,取前半部分的信息。我想你明白我的问题。
答
您可以尝试如下。您可以从相应的表中获取用户列表并计数,然后使用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
请编辑您的问题,并以表格格式添加示例数据和所需结果。 –
其实我想要这种类型的输出 – Arya
你已经试过了吗? – SagarPPanchal