SQL Server 没有 GROUP_CONCAT,MySQL 没有 STRING_SPLIT。 😔
还能咋办,人肉填坑啊!
大概看了一下网上的解决方案,很多都在推荐使用 SUBSTRING_INDEX(str,delim,count) 函数,join mysql.help_topic
表的自增列来完成。示例如下:
sql
SELECT
a.id,
a. NAME,
SUBSTRING_INDEX(
SUBSTRING_INDEX(
a.shareholder,
',',
b.help_topic_id + 1
),
',' ,- 1
) AS shareholder
FROM
company a
JOIN mysql.help_topic b ON b.help_topic_id < (
LENGTH(a.shareholder) - LENGTH(
REPLACE (a.shareholder, ',', '')
) + 1
)
emmm,不够优雅,但至少能解决大部分场景问题。
可以参照 SQL Server 中 STRING_SPLIT 的用法,将上述的解决方案封装一下:
sql
-- todo