ORDER BY DECODE(company,'公司C','1公司C','公司A','2公司A',
'公司B','3公司B','公司D','4公司D'),date
'公司B','3公司B','公司D','4公司D'),date
解决方案 »
- 给定时间段的查询?在线等
- .net framework 3.5 访问ORACLE 9i 数据库方法?
- 求SQL,两张表,A表列名是代码,B表记录A表列名码和A表列名汉字,怎么把A表列名以汉字方式显示出来?
- Oracle Directory Manager 登录问题
- 如何从一个表数据导入到另一张表中?请帮帮忙!
- [请教]Oracle视图能否建索引?
- oracle9i中关于在一个存储过程中调用另外一个存储过程
- number字段为何查不出来
- 忘记口令
- 32 位oracle 11g 数据库,安装到64位服务器上,内存如可分配
- 提示错误 tns:protocal adapter error pb65连oracle817时,用plsql是可以联的
- 谦虚的初学者裸身雪地跪求,如何配置ORACLE开发环境
order by
decode(company , 公司C , 1 , 公司A , 2 , 公司B , 3 , 公司D , 4),
date如果不止四家公司,其中指定四家公司必须按照1,2,3,4的顺序排列,那么:
order by
decode(company , 公司C , 1 , 公司A , 2 , 公司B , 3 , 公司D , 4 , 5),
company,date
insert into qxjtest values('c1',to_date('2004/12/31','yyyy/mm/dd'));
insert into qxjtest values('c2',to_date('2005/12/31','yyyy/mm/dd'));
insert into qxjtest values('c2',to_date('2005/12/31','yyyy/mm/dd'));
insert into qxjtest values('c3',to_date('2005/12/31','yyyy/mm/dd'));
insert into qxjtest values('c3',to_date('2005/12/31','yyyy/mm/dd'));
insert into qxjtest values('c4',to_date('2005/12/31','yyyy/mm/dd'));
insert into qxjtest values('c4',to_date('2005/12/31','yyyy/mm/dd'));insert into qxjtest values('c2',to_date('2004/12/31','yyyy/mm/dd'));
insert into qxjtest values('c3',to_date('2004/12/31','yyyy/mm/dd'));
insert into qxjtest values('c3',to_date('2003/12/31','yyyy/mm/dd'));
insert into qxjtest values('c4',to_date('2002/12/31','yyyy/mm/dd'));
insert into qxjtest values('c4',to_date('2001/12/31','yyyy/mm/dd'));select * from qxjtest;
select * from qxjtest order by company,CDate
2 c1 2005-12-31
3 c2 2003-12-31
4 c2 2004-12-31
5 c2 2005-12-31
6 c3 2003-12-31
7 c3 2004-12-31
8 c3 2005-12-31
9 c3 2005-12-31
10 c4 2001-12-31
11 c4 2002-12-31
12 c4 2005-12-31
13 c4 2005-12-31
不知道你的公司是否只有这四个?
我建议你新建一张表,然后在这张表里对保存公司名称,并按需要的排序建它的ID
然后对原来的表和现在的表进行联合查找,这时候可以用刚才新建的公司表ID,因为这个是有序的,就可以直接出结果了,如果你只有四个公司,可能上面几位朋友说的方法也还可以,
不过建议用另外的表,因为这样可扩展性好,至少从设计的角度来讲,呵
decode(company , 公司C , A , 公司A , B , 公司B , C , 公司D , D , E),
company,date