MySQLでは、使用できますGROUP_CONCAT
select a.col1, GROUP_CONCAT(b.col2,'/')
FROM tab1 a RIGHT OUTER JOIN tab2 b
ON a.tab1_id=b.tab2_id
WHERE
a.tab1_id=105
GROUP BY a.col1
MySQL サーバーではCROSS Apply
、またはStuff
この単純なXml Path for
. おそらく、あなたは答えを得たでしょう。しかし、ほら、もっと簡単です。サンプルテーブルは、col1 = 1. などの条件なしで結合クエリの結果として扱うことができます。結合テーブル構造を次のクエリに組み込んでください。
サンプル テーブル:
COL1 COL2
1 john
2 tim
1 jack
3 rose
クエリ:
SELECT col1, replace
((SELECT col2 AS [data()]
FROM tab1
WHERE col1 = a.col1
ORDER BY col1 FOR xml path('')), ' ','/')
FROM tab1 a
WHERE col1 IS NOT NULL
AND col1 = 1
GROUP BY col1
;
結果: 私のキーボードには、必要な特定の文字がありません。スラッシュ ;) をそれに置き換えることができます
COL1 COLUMN_1
1 john/jack