在 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 Server 中你可以使用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