2012-02-08 5 views
0

MySQLのDBは、私は(少なくとも私にとっては)かなり複雑疑問を持っている

として表示I次の表の構造

| id | roomtype | roomno | feature 
| 1 | STDK | 11 | BT 
| 2 | STDK | 11 | AE 
| 3 | STDK | 22 | SMK 
| 4 | STDK | 22 | BT 
| 5 | STDT | 33 | NONSMK 

に持っていると私はこの

ような出力を持つようにしたいです
Type: STDK - RoomNo: 11 - Features: BT, AE 
Type: STDK - RoomNo: 22 - Features: SMK, BT 
Type: STDT - RoomNo: 33 - Features: NONSMK 

あなたはそれはおそらくその複雑ではないのですが、私はそれを得ることができない...

答えて

5

これはあなたが探している結果を示しています...しかし、私は質問の結果をフォーマットするという考えが嫌いです!ここで

select 
    concat("Type: ", roomtype, 
    " - RoomNo: ", roomno, 
    " - Features: ", group_concat(feature order by feature separator ', ')) 
    as result 
from t1 
group by roomtype, roomno 

は、SQL内のすべてのものの書式のアイデアを好きではないためとについて教えて教えるための作業example

+2

+1であるsqlize.com –

+0

感謝^。^いくつかの他の有用なリンクがあります。私のプロフィールでは(私は怠け者だ、私はそれらをブックマークしていない):P –

+1

私は私のカップルjsfiddle.netボイラープレートの設定があります。 –

3

MySQLのgroup_concatを使用することができます。

select roomtype, roomno, group_concat(feature order by feature separator ', ') 
from your_table 
group by roomtype, roomno 
order by roomno 

それから、あなたの完全にフォーマットされた出力が課題として残されている生産。

0
SELECT 
    roomtype AS Type, 
    roomno AS RoomNo, 
    GROUP_CONCAT(feature ORDER BY feature SEPARATOR ', ') AS Features 
FROM 
    tableName 
GROUP BY roomtype, roomno 
ORDER BY roomno 
関連する問題