以下是表格:
Product Table
25 Tshirt
26 Dress
ProductVariation Table
id product_id variation_id vendor_id
46 26 47 1
47 26 48 1
48 26 49 1
49 27 50 1
Variation Table
id value attribute_id category_id variationinfo_id
47 Female 2 1 17
48 89 3 1 17
49 90 1 1 18
50 #343434 2 1 18
VariationInfo Table
id stock remarks
17 8 remarks1
18 10 remarks2
Attribute Table
id attribute_name
1 size
2 color
3 gender
Category Table
id name parent remarks
1 bla bla bla
问题场景: 产品26具有变量_ 47,48,49。其中,47和48具有相同的变量info_id 17,另外49具有18.对于产品26,总库存信息获得为18.
但是,我需要获取不同的variationinfo_ids的分布式股票信息,例如:对于变量(VariationTable)47,48,具有相同的variationinfo_id为17,该变化的总存量 - >对于变量info_id为18的8和48,该变化的总存量 - > 10.
如何为后一部分编写查询?
答案 0 :(得分:0)
select temp.product_id,temp.variation_ids,temp.variationinfo_id,vi.stock
(select p.product_id,group_concat(v.id) as variation_ids, v.variationinfo_id
from ProductVariation p
join Variation v on p.variation_id=v.id
group by p.product_id,v.variationinfo_id) temp
join VariationInfo vi on temp.variationinfo_id=vi.id
注意:代码未经过测试。可能存在小的句法错误。