如果条件将值添加到新列并将其分组为MySQL

时间:2015-08-05 14:05:14

标签: php mysql

我正在尝试从数据库中获取数据,其中在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行。

非常感谢任何帮助。

1 个答案:

答案 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