wu120877523
wu120877523
采纳率75%
2016-06-25 13:00 阅读 1.4k
已采纳

数据库语句求助(行转列)

20

我的一张表里有三个字段,id,a,b。id字段不是唯一的,a字段里有RE开头和RG开头的值,b字段是它对应的结果,有0和1两种。我现在想写sql语句,查询结果为,以RE和RG开头的两种值分成两个字段RE.a和RG.a。如图所示:图片说明图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    bczzm bczzm 2016-06-26 10:21

    SELECT
    rg.id,
    re.a,
    re.b,
    rg.a,
    rg.b
    FROM
    (SELECT
    t1.*
    FROM
    test t1
    WHERE t1.a LIKE 'RE%') re
    RIGHT JOIN
    (SELECT
    *
    FROM
    test t2
    WHERE t2.a LIKE 'RG%') rg
    ON re.id = rg.id
    AND SUBSTRING(re.a, 3) = SUBSTRING(rg.a, 3);图片说明

    点赞 评论 复制链接分享
  • wu120877523 wu120877523 2016-06-25 13:09

    我是这样写的,但是这样写数据就很紊乱,都重复了,想问问大神应该怎么解决,如果用decode怎么解决模糊查询的问题?图片说明图片说明

    点赞 评论 复制链接分享

相关推荐