我有一个具有以下结构的表:
id (int),
stock_class(varchar(10)),
stock_number(varchar(10)),
Store_1 (varchar(1)) - the values here can be Y or N, indicating ability to keep this stock_number at Store_1
Store_2 (varchar(1)) - 此处的值可以是Y或N,表示能够将此stock_number保持为Store_1
表中的数据如下所示(逗号分隔):
1、a、aa、y、n
2,a,ab,n,n
3,a,ac,y,y
4、b、ba、y、y
5、b、bb、n、n
6、b、bc、n、y
以此类推。
我想创建一个视图,显示按stock_class分组的数据,但显示每个商店具有"y“的股票类型。
如下所示(逗号分隔):stock_class、stock_number_y_Store_1、stock_number_y_Store_2
a、aa/ac、ac
b,ba,ba/bc
你能帮帮忙吗?
提前谢谢你。
发布于 2016-08-03 05:42:47
select stock_class,
group_concat(case store_1 when 'y' then stock_number end separator '/') as stock_number_y_Store_1,
group_concat(case store_2 when 'y' then stock_number end separator '/') as stock_number_y_Store_2
from NoOneNamesTheirTableInSqlQuestions
group by stock_class演示:SQLFiddle
发布于 2016-08-03 05:40:22
为什么不干脆:
SELECT stock_class FROM table WHERE Store_1 = 'Y' GROUP BY stock_class
如果要获取所有记录,请使用ORDER而不是GROUP…
https://stackoverflow.com/questions/38645229
复制相似问题