2016-04-14 4 views
0

私は3つのテーブルを持っています。私はそれをクエリを使用して接続しましたが、別の行に結果を表示する代わりに、カンマで結果を1行に区切りたいと思います。Sql maptablesに参加し、カンマで結果を区切ります

1テーブル

ProgrammeId | Name 
==================== 
1 |Software Engineering           
2 | Game Design 

2テーブルのクエリである

CoordinatorId| CoordinatorName 
==================== 
1 |Bob           
2 | Ted 

3Dテーブル

ProgrammeId| CoordinatorId 
==================== 
1 | 1           
1 | 2 
2 | 1 

SELECT a.ProgrammeId, a.Name, c.NameCoordinator 
FROM Programme a 
--Joining maptable for Programme and Coordinator 
INNER JOIN ProgrammeCoordinators b 
ON a.ProgrammeId = b.ProgrammeId 
INNER JOIN Coordinator c 
ON b.CoordinatorId = c.CoordinatorId 

出力はそのような何かになります:あなたの名前は長さ100の場合

1 | Software Engineer | Bob, Ted 
+0

行います本当にカンマが必要ですか? '<コーディネータ> Bob Ted' xmlドキュメントはこれより良いでしょうか? – Quassnoi

+0

これはしばしば別の方法と呼ばれ、なぜdoesntのSQLサーバはmysqlのようなgroup_concatを持っていますか?よく良いニュース。その質問は既に尋ねられ、http://stackoverflow.com/a/5981860/1158842に答えました。おそらくもっと良い例がhttp://stackoverflow.com/a/17591536/1158842 –

答えて

0

:私はこれを表示するために分離することができますどのように

ProgrammeId| Name | CoordinatorName 
================================== 
1 | Software Engineer | Bob           
1 | Software Engineer | Ted 
2 | Game Design | Ted 

SELECT a.ProgrammeId, a.Name(Name,' ',100), c.NameCoordinator 
FROM Programme a 
--Joining maptable for Programme and Coordinator 
INNER JOIN ProgrammeCoordinators b 
ON a.ProgrammeId = b.ProgrammeId 
INNER JOIN Coordinator c 
ON b.CoordinatorId = c.CoordinatorId 
+0

です。「Titel」とは何ですか?このようには動作しません。 – Antoshjke

+0

申し訳ありませんが、その列の名前(私は自分の投稿を編集しました) – MackTank

+0

- CoordinatorName(CoordinatorName、 ''、100) - を追加して、すべての列を右揃えにします。長さをカスタマイズすることを忘れないでください。 – MackTank

関連する問題