2016-07-28 44 views
1

我有具有以下結構的表格:MySQL視圖和組

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,,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

能否請你幫忙嗎?

預先感謝您。

回答

0
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

+0

非常感謝你! – rhh

0

爲什麼不乾脆:

​​

如果你想獲得的所有記錄,而不是使用GROUP ORDER ...