的Sql将一个记录插入到多条记录
我有表T1 SQL记录的Sql将一个记录插入到多条记录
user_id tags
1 <tag1><tag2>
1 <tag1><tag3>
2 <tag2><tag3>
我想分这记录到多个记录,并做就可以是不同的。 我想知道如何根据标签<>记录划分到另一个表T2
我需要这样的输出中的表t2
user_id tags
1 <tag1>
1 <tag2>
1 <tag1>
1 <tag3>
2 <tag2>
2 <tag3>
能跟大家能给我一些SQL查询办??
试试这个:
SELECT
user_id,
SUBSTRING_INDEX(tags,'<',2) as tag
FROM
t1
UNION ALL
SELECT
user_id,
SUBSTRING_INDEX(tags,'>',-2) as tag
FROM
t1
更新:为不同的值,可以使用:
SELECT
user_id,
tag
FROM (
SELECT
user_id,
SUBSTRING_INDEX(tags,'<',2) as tag
FROM
t1
UNION ALL
SELECT
user_id,
SUBSTRING_INDEX(tags,'>',-2) as tag
FROM
t1
) as tmp
GROUP BY
user_id,
tag
不要忘记使用'SELECT DISTINCT'来删除重复项,如果需要的话 –
给出所需输出示例,不需要删除重复项,这就是为什么我没有使用'DISTINCT' – Stephan
OP的问题说:“我想把这些记录分成多个记录,并做不同的记录。” –
标签是如何分离蛋白的?它在一列吗? – 0x1gene
没有一列,用它的user_id将它们分成新的多个记录到另一个表中t2 –
我指的是T1吗? – 0x1gene