mysql相同的列合并为一行_MySQL将两个独立的复杂查询中的列合并为一行

我在一个网站上工作,那里有许多不同的服装系列。生产线是指具有相同设计、风格、制造商等的服装。在一条生产线中,服装有不同的尺寸和颜色。

要在一个特定的行中组合所有可用颜色的图表,下面的查询工作得很好(我在Coldfusion中工作,但是PHP将使用相同的查询)。

SELECT

skuColourwayID,cHex,cLongName,skuID, cwColID1

from garment_sku

join garment_colourways

on cwID=skuColourwayID

join garment_colour_name

on cID=cwColID1

where skuLineID=

group by skuColourwayID

为了积累我需要的所有信息,我必须使用连接访问三个表。(对于如何将数据呈现给我,我没有任何选择)。该行由lnID标识,在上述情况下,lnID以url变量开头。从sku表(garment_sku)开始,我访问colorways表(garment_colorways)并获取colorway颜色id(cwColID1)。通过将此应用于颜色名称表(garmentúu colourúu name),我可以得到颜色的实际名称及其十六进制值。

这一切都很好,只有几件衣服是双色的(衣袖和衣领等颜色不同)。服装库存表中有第二列cwColID2,表示第二种颜色。

解决这个问题的一种方法是执行两个单独的查询,在第二个查询中,cwColID1被cwColID2替换。然后,我可以结合查询编程,以实现双色在需要的地方。但是,这看起来很不优雅,我敢肯定MySQL在一个查询中就可以处理这个问题了?

我不想说,但表中也有第三种颜色cwColID3的规定,尽管我从来没有遇到过任何三种颜色的服装,我很高兴只为这两种颜色解决这个问题。

谢谢你的帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值