征求一条SQL语句 如果年份很少使用decode可以一条语句办到如果年份不确定,则需要用过程。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我Oracle不熟,您要是有时间的话能否给我各举一例呀?非常感谢 SELECT DECODE(YEAR,2000,MYDATA) 2000,DECODE(YEAR,2001,MYDATA) 2001,DECODE(YEAR,2002,MYDATA) 2002 FROM A; 楼上兄弟,你的SQL会得到3条记录而非1条。SQL> SELECT DECODE(YEAR,2000,MYDATA) a2000,DECODE(YEAR,2001,MYDATA) a2001, 2 DECODE(YEAR,2002,MYDATA) a2002 FROM temp; A2000 A2001 A2002---------- ---------- ---------- 1000 1110 1210若想只得到一条记录,需要利用GROUP类函数SELECT MAX(DECODE(YEAR,2000,MYDATA)) a2000,MAX(DECODE(YEAR,2001,MYDATA)) a2001,MAX(DECODE(YEAR,2002,MYDATA)) a2002 FROM temp; 聚集函数是必要的。如max,min,sum 漏掉了,JIEZHI说的那几个函数,随便加一个就可以了 大侠们,DECODE(YEAR,2000,MYDATA) 2000这样写不行呀~~~写成2000年也不行~~难道不能已数字开头吗?有办法解决吗? 好像字段名不能以数字开头,你为什么不改为Year2000 or Y2000呢? 因为我想用一个控件直接跟他绑定,用户希望看到的是2000而不是Year2000啊而且年份是动态的:(所以我必须要2000这样的啊,没办法解决吗? Oracle强制索引 求教jdbc 连接字符串怎么写? VARCHAR2转换date Oracle10g Client的安装和配置 请教如何连接Novell 4.11服务器上的Oracle 7.0 NetWork数据库? 求一条SQL语句 Oracle中的层次查询,这样的记录能实现吗? 用powerdesigner画sqlserver的数据模型图?在线等 这样的sql语句如何实现:? 用PL\SQL实现删除数据库中重复数据问题 请教这个动态带单引号sql语句存储过程怎么写 这个sql怎么写?谢谢,在线等
非常感谢
DECODE(YEAR,2002,MYDATA) 2002 FROM A;
2 DECODE(YEAR,2002,MYDATA) a2002 FROM temp; A2000 A2001 A2002
---------- ---------- ----------
1000
1110
1210若想只得到一条记录,需要利用GROUP类函数
SELECT MAX(DECODE(YEAR,2000,MYDATA)) a2000,MAX(DECODE(YEAR,2001,MYDATA)) a2001,MAX(DECODE(YEAR,2002,MYDATA)) a2002
FROM temp;
这样写不行呀~~~写成2000年也不行~~难道不能已数字开头吗?有办法解决吗?
而且年份是动态的:(
所以我必须要2000这样的啊,没办法解决吗?