我正在尝试从数据库中获取数据,其中在1个表中我有一个列,该列根据0和1划分产品ID的价格,但是在一个所需的列上对该值进行分组,该值未填充到新的列。
我的问题是,如果条件按分组值,我如何将值添加到新列:
数据库:
Column 1:
id,generic,name,size
1,SS,Test,S
2,SS,Test 2,M
3,SS,Test 3,L
Column 2:
id,product_id,is_valued,price
1,1,0,199
2,1,1,159
3,2,0,599
4,3,0,599
所以,在mysql中我做:
SELECT column2.price, (CASE WHEN column2.is_valued = '1' THEN column2.price ELSE 'No Valued Price' END) as ValuedPrice FROM column2 LEFT JOIN column1 ON column2.product_id=column1.id GROUP BY column2.generic
输出: 199 “”
我需要的输出是:199,159
所以按通用列对它进行分组,它只给我1行,而不是预期的2行。
非常感谢任何帮助。
答案 0 :(得分:0)
SELECT column2.price, (CASE WHEN column2.is_valued = '1'
THEN column2.price ELSE 'No Valued Price' END) as ValuedPrice FROM column2
LEFT JOIN column1 ON column2.product_id=column1.id
GROUP BY column2.generic,column2.price