gpt4 book ai didi

mysql - 如何根据sql中产品的混合属性列集获取值

转载 作者:行者123 更新时间:2023-11-30 21:48:32 30 4
gpt4 key购买 nike

我一直在努力从 mysql 数据库中获得所需的输出。首先请看一下我的表结构

sql table structure

编辑:这是我的架构 http://rextester.com/edit/NNCZ7986

现在当我运行下面提到的查询时,我得到如下结果

Select a.prodid,a.product,b.catid,b.category,d.attvalue,c.qty,c.price 
from tbl_products a left join
tbl_categories b
on a.catid = b.catid left join
tbl_prodattval c
on a.prodid = c.prodid left join
tbl_attvalues d
on c.attvalid = d.attvalid

这是我得到的结果

query result

绿色的产品K1显示正确的数量和价格并且还显示为单独的一行产品 K1 为 XL 及其数量和价格

但是,我需要绿色的产品 K1 + XL(混合多属性)来获取价格和数量

同样,带有 XL 和绿色的 Tee1 应该有 1 个数量和价格和带有绿色 XXL 的 Tee1 应该有另一个

我想要如下所示的结果(attvalue2 和 attvalue3 列只是虚构的......只是为了表明我想从多属性中获得产品列表)

Prodid | Product | catid | category | attvalue | attvalue2 | attvalue3 | qty | price
20 | Tee1 | 14 | Tees | Green | XL | | 2 | 23.00
20 | Tee1 | 14 | Tees | Blue | XL | | 2 | 21.00

如何获取?

提前致谢

最佳答案

     Select a.prodid,a.product,b.catid,b.category,d.attvalue, e.attvalue,c.qty,c.price 
from tbl_products a
left join tbl_categories b
on a.catid = b.catid
left join tbl_prodattval c
on a.prodid = c.prodid
left join tbl_attvalues d
on c.attvalid = d.attvalid
and d.attID = //in tbl_attributes what is attid for color (ID for color)
left join tbl_attvalues e
on c.attvalidid = e.attvalid
and d.attID = //'in tbl_attributes what is attid for size (ID for size)

关于mysql - 如何根据sql中产品的混合属性列集获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48356609/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com