3

重複の可能性:
行の値を連結する T-SQL

次のようなテーブルがあります。

ref_num   name      type       route
----------------------------------------
1         A         W          401
2         B         X          401
3         C         E          401
3         C         E          411
4         D         Z          401
5         K         W          701
5         K         W          991
5         K         W          556
5         K         W          401
6         L         X          401
7         D         Y          401
7         D         Y          411
7         D         Y          680
8         E         Z          401

そして、私はこのような結果が欲しい:

ref_num   name      type       routes
----------------------------------------
1         A         W          401
2         B         X          401
3         C         E          401,411
4         D         Z          401
5         K         W          701,991,556,401
6         L         X          401
7         D         Y          401,411,680
8         E         Z          401

希望する結果を得るために誰かが私にクエリの例を与えることができれば、それは大歓迎です

4

3 に答える 3

3
select ref_num, name, type, group_concat(routes)
from your_table
group by ref_num

group byMySQL では、すべての値を選択する必要はありません 。他の値はおそらくランダムに選択されます。しかし、他の値が 1 つのグループで同じであれば、心配する必要はありません。それは、OPの質問の場合です。

于 2012-06-27T14:56:51.140 に答える
3

次のようなものでそれらGROUP_CONCATを連結できます。GROUP BY

SELECT ref_num, name, type, GROUP_CONCAT(routes SEPARATOR ', ')   
FROM TableNAme 
GROUP BY ref_num, name, type
于 2012-06-27T14:59:59.987 に答える
0

私は WM_CONCAT がこれを行うと思います:

SELECT REF_NUM, NAME, TYPE, WM_CONCAT(ROUTE) 
FROM ROUTES
GROUP BY REF_NUM, NAME, TYPE;
于 2012-06-27T15:03:40.770 に答える