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

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

4个回答

--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;

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!