Sql将一条记录分成多条记录

时间:2013-05-22 06:47:41

标签: mysql sql

我有表t1 sql记录

user_id    tags
  1     <tag1><tag2>
  1     <tag1><tag3>
  2     <tag2><tag3>

我想将这些记录分成多个记录并对其进行区分。 我想知道如何根据标签划分记录&lt;&gt;进入另一个表t2

我需要在表t2中输出这样的内容

user_id    tags
  1     <tag1> 
  1     <tag2>
  1     <tag1>
  1     <tag3>
  2     <tag2>
  2     <tag3>

你们可以给我一些SQL查询吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT
    user_id,
    SUBSTRING_INDEX(tags,'<',2) as tag
FROM
    t1
UNION ALL
SELECT
    user_id,
    SUBSTRING_INDEX(tags,'>',-2) as tag
FROM
    t1

UPDATE:表示您可以使用的不同值:

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