sql语句 把一个表中的字段值变为字段 在线等~~~

表一
姓名 科目 分数
aaa 语文 84
bbb 数学 92
bbb 英语 101
aaa 英语 78
aaa 数学 99
bbb 语文 71

查询结果
姓名 语文 数学 英语
aaa 84 99 78
bbb 71 92 101

用sql语句

第1个回答  2012-07-31
SELECT 姓名,
MAX(CASE WHEN 科目 = '语文' THEN 分数 ELSE 0 END) AS 语文,
MAX(CASE WHEN 科目 = '数学' THEN 分数 ELSE 0 END) AS 数学,
MAX(CASE WHEN 科目 = '英语' THEN 分数 ELSE 0 END) AS 英语
FROM 表一
GROUP BY 姓名本回答被提问者和网友采纳
第2个回答  2012-07-31
select 姓名,max(decode(科目,语文,分数) )as 语文,nax(decode(科目,数学,分数)) as 数学,max(decode(科目,英语,分数) )as 英语 from 表1
第3个回答  2012-07-31
select distinct(*) from 表

sql语句 把一个表中的字段值变为字段 在线等~~~
MAX(CASE WHEN 科目 = '数学' THEN 分数 ELSE 0 END) AS 数学,MAX(CASE WHEN 科目 = '英语' THEN 分数 ELSE 0 END) AS 英语 FROM 表一 GROUP BY 姓名

sql怎么把一个表中字段的部分内容替换成另一个表字段的内容
-- tableb 通过 aid 关联tablea 的id,把tableb的fielda字段写入tablea的fielda字段UPDATE tablea SET fielda = (select fielda from tableb where tablea.id=tableb.aid)-- 关联方式一样,把tablea中fielda的字段中的特定字符串替换成tableb中指定字段的值update tablea set fielda = REPLACE...

如何用plsql语句把一个表的所有列都转换为字符型
方法一:varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 。update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')方法二:update [表名] set 字段名 =...

如何使用sql语句使一个列的值变成另一个字段的值
首先用select语句选出要修改的列的值,此时要结合where字句,接着用update对数据更新即可

sql存储过程从一张表中查询到的值作为另一张表的新的字段
如果两表字段相同,则可以直接这样用。insert into table_a select * from table_b如果两表字段不同,a表需要b中的某几个字段即可,则可以如下使用:insert into table_a(field_a1,field_a2,field_a3) select field_b1,field_b2,field_b3 from table_b还可以加上where条件 ...

sqlserver怎样将一个表的字段更改为另一个字段
SQL语句如下:更新aseta.ty2=b.ty1fromt2a,t1bwherea.n2=b.n1 将t2表的ty2字段的值更新为表的ty1字段的值。假设表的n2=b表的n1。

sql 语句 如何将一张表里面的名字字段 比如 张某某 变成 张** 或则...
设表名为TABLENAME,名字字段为NAME,那么这样:UPDATE TABLENAME SET NAME=LEFT(NAME,1)+REPLICATE('*',LEN(NAME)-1)或者是只查询,改表可是就把NAME原始数据破坏掉了:SELECT NAME=LEFT(NAME,1)+REPLICATE('*',LEN(NAME)-1) FROM TABLENAME 第一个字符不变,后面加上NAME字符个数减一个*号 ...

sql语句 将同一个表中的其中一个字段的一部分替换成这个表中的另一个...
如果要替换的房号是固定格式以及长度,如要替换的XXXXX左面长度为12(包括两个'-')则语句如下:update t_she_room set fnumber=left(fnumber,12)+ froompropno 如果要替换的XXXXX是固定长度如5位,也可以这样写 update t_she_room set fnumber=left(fnumber,len(fnumber) - 5) + froompropno ...

如何使用sql语句使一个列的值变成另一个字段的值
update user u set u.password=u.name

数据库的表中写一个sql把已有字段对应的值 拆分为多个字段
那是因为条件 substr(money,1,length(money=6)=1) = '人民币' 没有符合条件的数据,所以是null,你用 select substr(money,1,length(money=6)=1) , * from table 看看是什么结果,一般判断字符串里是否保护某些字符,应该用charindex函数才对的。

相似回答