2017-02-10 5 views
0

このページは初めてで、質問を投稿するのは初めてです。何か間違って申し訳ありません。質問は古いかもしれませんが、私はSQL AnyWhereの回答を見つけることができません。
私は結果が欲しいグループ化された値のリストを作成する

Order | Mark 
======|======== 
1  | AA 
2  | BB 
1  | CC 
2  | DD 
1  | EE 

のようにテーブルには、次のように持っている

Order | Mark 
1  | AA,CC,EE 
2  | BB,DD 

私の現在のSQLは

Select Order, Cast(Mark as NVARCHAR(20)) 
From #Order 
Group by Order 

あり、それだけで完全に同じ結果を私に与えて元のテーブル。

これについてのご意見はありますか?

答えて

0

あなたはASA LIST()、集計関数を使用することができます(テストされていない、また、予約済みの名前であるとして、あなたは引用符にorder列名を囲む必要があるかもしれません):

SELECT Order, LIST(Mark) 
FROM #Order 
GROUP BY Order; 

あなたは区切り文字と順序をカスタマイズすることができますあなたが必要な場合。

注:それはかなりのように、通常のSQL句(Order by

  • とあなたのテーブルと列名が列のテーブルを同じ名前を使用

    • 名に悪い考えである(Order
  • +0

    それは完璧に働いた、ありがとうございました。また、カラム名のアドバイスと私のポストを編集してくれてありがとう。 – ductoyo

    +0

    ようこそ。あなたの問題に対処した場合、あなたは[回答を受け入れる]べきです(http://meta.stackoverflow.com/a/65088/173356)... – Seki

    関連する問題