正如wylyf(李寻欢) 所说的,我的topic肯定不是固定的,要不然,我直接将topic的内容作为字段,岂不更爽哉!所以这样case when 不行了就。 我觉得好像没有方法用sql语句实现!难道这真是sql极限了吗?
这个东西在oracle中可以用一个sql语句实现,look: select no,date, sum(decode(topic,身高(厘米),grade)) 身高(厘米), sum(decode(topic,体重(千克),grade)) 体重(千克), sum(decode(topic,血压(高压),grade)) 血压(高压) from table1 group by no,date;
因为做这样的表结构就是为了体现一个灵活性和扩展性!
如果把TOPIC给固定了,那么这样设计岂不是自找麻烦?
这个帖子说的很清楚,看来是一个SQL语句搞不定的!
我觉得好像没有方法用sql语句实现!难道这真是sql极限了吗?
select no,date,
sum(decode(topic,身高(厘米),grade)) 身高(厘米),
sum(decode(topic,体重(千克),grade)) 体重(千克),
sum(decode(topic,血压(高压),grade)) 血压(高压)
from table1
group by no,date;
SQL其实是表间的笛卡儿集、并、交、补、投影操作。你的要求肯定不可能使用这五种操作完成,也就不可能完成。这个不会有人还要去证明吧
先创建一张表,然后在动态添加这个表的字段
select * into newtable from oldtable/*首次添加表*/alter table newtable
add newcolumn varchar(255)/*更改表的字段,最好用游标循环添加*/update newtable set newcolumn =/*更新数据*/