2017-03-16 15 views
4

我想在sql中執行一個未指定數量的行到一行的集成。 我需要一個SQL查詢來做到這一點。sql中的一行中的幾行的集成

我的觀點:

service_id title value 
---------- ----- ----- 
1    A 10 
1    B 20 
1    C 40 
2    A 15 
2    B 72 
2    C 70 
.    D  . 
.    F  . 
.    .  . 

結果我預期是:

service_id A B C D F .. 
---------- - - - - - --- 
1   10 20 40 . . . 
2   15 72 70 . . . 
. 
. 

字段的數量是未知的(A,B,C,...)

+0

你可以發表任何你迄今嘗試過的嗎? – Shruti

+0

請參閱http://stackoverflow.com/questions/7674786/mysql-pivot-table –

+0

可能重複的[MySQL數據透視表](http://stackoverflow.com/questions/7674786/mysql-pivot-table) –

回答

1

如果你想在MySQL中使用這個,你可以使用這個

select service_id , group_concat(`titlevalue` separator ',') as `your_fild_name` from (select id, concat(`title`, ':', group_concat(`value` separator ',')) as `titlevalue` from your_table_name group by id, `titlevalue`) tbl group by service_id ;