+ -
当前位置:首页 → 问答吧 → 冰天雪地跪地求教

冰天雪地跪地求教

时间:2011-12-26

来源:互联网

table(设备名称,设备编号,下次检查时间,下次维修时间)

查询结果:
设备名称,设备编号,类型,时间

说明:
1.不能写存储过程,只能写SQL语句
2.需要用户输入一个类型
IF是“检查时间”
结果:设备名称,设备编号,“检查”,时间
IF是“维修时间”
结果:设备名称,设备编号,“维修”,时间
IF 不输入
结果:设备名称,设备编号,“检查”,时间
  设备名称,设备编号,“维修”,时间

请问这个select语句应该怎么写啊,,好复杂啊,,,大家帮帮我啊!!!!!听说用UNION








作者: zhuzhusex1009   发布时间: 2011-12-26

function

作者: hllfl   发布时间: 2011-12-26

table(设备名称,设备编号,下次检查时间,下次维修时间)
create table tab_samp(dev, devno,check_date,fix_date) 
select dev,devno,flag,odate
(select dev,devno,check_date odate,'检查' flag
from tab_samp
union all
select dev,devno,fix_date,'维修' flag
from tab_samp)
where (flag = '变量' or '未输入' ='变量')

作者: fudaliang1999   发布时间: 2011-12-26

谢谢楼上的兄弟,我对ORACLE不太了解,能不能帮我分析下,

table(设备名称,设备编号,下次检查时间,下次维修时间)  
是已经在数据库中存在的,我现在想查询里面的数据

作者: zhuzhusex1009   发布时间: 2011-12-26

SQL code

设备检修记录表:
create table equipment (
    equipment_id varchar2(10),--设备编号
    equipment_name varchar2(40),--设备名称
    type_id number, --类型
    check_date date -- 检查时间 或者维修时间
);
类型表:
create table type(
    type_id number, --类型编号
    type_name varchar2(40) --类型名称
);
查询sql:
select * from  equipment t 
left join type t1 on t.type_id=t1.type_id
where t1.type_name in ('维修时间') -- 在此输入查询条件'维修时间' or '检查时间'
order by t.equipment_id,t.equipment_name

作者: zyuc_wangxw   发布时间: 2011-12-26

还有问一个问题,怎么在结果中,怎么把‘检查’,‘维修’两个字符串 放到查询出的结果【类型】这个字段中啊,



大哥们快帮我看看,,在线等!!!!!

作者: zhuzhusex1009   发布时间: 2011-12-26

4楼的兄弟说的不对!!!!!!!!大家不要被他误导!!!!!!!!!!只有一个表!!!!!!!!



在线等!!!!!!!!!!!!!!11

作者: zhuzhusex1009   发布时间: 2011-12-26

引用 6 楼 zhuzhusex1009 的回复:
4楼的兄弟说的不对!!!!!!!!大家不要被他误导!!!!!!!!!!只有一个表!!!!!!!!
在线等!!!!!!!!!!!!!!11


二楼 不是 已经帮你解决了吗,还等什么啊?

作者: zyuc_wangxw   发布时间: 2011-12-26