qq_37849375
菜猿联盟
采纳率60%
2019-03-09 09:49 阅读 350

我有需求需要实现这样一条SQL依据,求教?

假设我有一张表有:ID 名称 语文 数学 英语 字段
我添加一条数据为:1 小明 60 70 80
但我需要的查询结果为 1 小明 60 ;1 小明 70; 1 小明 80
请问这样的SQL该如何实现

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

4条回答 默认 最新

  • 已采纳
    weixin_41621803 weixin_41621803 2019-03-13 10:22

    --oracle 数据库语句如下
    SELECT id,name,math||';',id,name,chinese||';',id,name,english||';' FROM your_table_name;

    --sql 数据库语句如下
    SELECT id,name,math+';',id,name,chinese+';',id,name,english+';' FROM your_table_name;

    点赞 评论 复制链接分享
  • crh170 Ross_keeping 2019-03-09 10:02

    SELECT * from (SELECT id,name,math FROM test) a, (SELECT id,name,Chinese FROM test) b
    这是我的表结构
    图片说明

    我已经试过,应该是你要的那种效果

    点赞 评论 复制链接分享
  • weixin_42080504 have_power 2019-03-11 10:05
    点赞 评论 复制链接分享
  • qq_35081747 元气皮皮 2019-03-13 15:52

    是不是列转行?如果是的话,sql如下:
    select id,name,chinese from table
    union all
    select id,name,math from table
    union all
    select id,name,english from table

    点赞 评论 复制链接分享