背景:ORACLE查询当前资产状态,包含资产信息(表1),资产维修状态(表2),资产报废状态(表3)

如下:

资产信息:

资产维修:

资产报废:

资产申请完了以后可以申请当前资产的维修和报废,其中维修有两个流程,一个是申请维修,然后维修。对应的都需要启动相应的流程去申请维修或者报废

流程表如下:

查询当前所有的资产以及对应的资产状态(维修状态,报废状态):sql语句如下:

select t.ASSET_ID             as assetId,
       t.ASSET_NAME           as assetName,
       t.ASSET_SORT           as assetSort,
       t.ASSET_MODEL          as assetModel,
       t.BIRTH_DATE           as birthDate,
       t.INTERNATIONAL_NUMBER as internationalNumber,
       t.MANUFACTURER         as manufacturer,
       t.PURCHASE_DATE        as purchaseDate,
       t.NET_SALVAGE          as netSalvage,
       t.EXPECTED_YEAR        as expectedYear,
       t.NET_VALUE            as netValue,
       t.ORIGINAL_VALUE       as originalValue,
       t.DEPRECIATION_METHOD  as depreciationMethod,
       t.SERVICE_CONDITION    as serviceCondition,
       t.STOREMAN             as storeMan,
       t.REMARK               as remark,
       t.ADD_TYPE             as addType,
       t.PROCESSINSTANCEID    as processinstanceId,
       t.CUSTODY_DEPT         as custodyDept,
       t.USED_YEAR            as usedYear,
       t.ID                   as Id,
       m.status               as clearStatus,
       --  nn.status              as maintainStatus,
       (select a.status
          from (select a.asset_id, b.status
                  from asset_maintain a
                  join workflow.workflow_execution b
                    on b.processinstanceid = a.processinstanceid
                 order by b.create_time desc) a
         where a.asset_id = t.asset_id
           and rownum = 1) as maintainStatus
  from ASSET_INFO t
  left join (select *
               from ASSET_CLEAR c
               join workflow.workflow_execution n
                 on c.processinstanceid = n.processinstanceid) m
    on t.asset_id = m.asset_id

重点是这里:

领悟:子查询可以作为业务字段使用,同时可以根据当前主查询的表进行相关联,取出自己想要的数据

ORACLE查询当前资产状态,和另一个数据库联查,(查询重复数据中第一条),子查询作为字段查询的更多相关文章

  1. Oracle 查询出来的数据取第一条

    Oracle 查询出来的数据取第一条 --------------------------------------------------------------------------- 转载自:h ...

  2. Oracle取查询结果数据的第一条记录SQL

    Oracle取查询结果数据的第一条记录SQL: ; ;

  3. ORACLE清除某一字段重复的数据(选取重复数据中另一个字段时期最大值)

    需求:资产维修表中同一资产可能维修完继续申请维修,这时候维修状态需要根据最近的维修时间去判断维修状态,所以同一资产ID下会出现重复的数据(维修审批通过,维修审批未通过),或者可能不出现(未申请维修), ...

  4. oracle删除一个表内的重复数据,

    查询以及删除一个数据库表内的重复数据. 1.查询表中的多余的重复记录,重复记录是根据单个字段来判断的. select * from biao where id in (select id from b ...

  5. SQLSERVER 时间日期函数,查询今天日期、昨天、一个星期、半年前的数据

    今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where D ...

  6. mysql语句删除重复数据,保留一条;查询所有重复数据;查询重复数据的一条,

    //显示重复的所有条 SELECT * FROM 表名 WHERE (字段1,字段2,...) IN (SELECT 字段1,字段2,...FROM 表名 GROUP BY 字段1,字段2,... H ...

  7. MySQL 数据库查询数据,过滤重复数据保留一条数据---(MySQL中的row_number变相实现方法)

    转自: http://www.maomao365.com/?p=10564 摘要: 下文讲述MySQL数据库查询重复数据时,只保留一条数据的方法 实现思路: 在MySQL数据库中没有row_numbe ...

  8. SQL Server查询分组结果中第一条记录的方法

    select * from (  select mp.MsgID,m.Content,m.CreatorID,m.CreateTime,ROW_NUMBER() over(partition by m ...

  9. 【Excle】在重复数据中对日期排序并查询最新的一条记录

    现在存在以下数据: 需要查询出以下数据 姓名       日期 张三       2017-12-14 李四       2017-12-16 在E1中写入以下公式:=IF(D2=MAX(IF($C$ ...

随机推荐

  1. 40.Android之新手指引界面学习

    我们经常可以看到打开新App会有新手指引界面,类似蒙板效果今天来学习.原理其实很简单,设置一个透明Activity或者Dialog,然后修改其属性即可.由于实现比较简单,就贴一部分代码. 1.在And ...

  2. iOS项目开发知识点

    前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在 ...

  3. Bootstrap Modals(模态框)

    http://www.runoob.com/bootstrap/bootstrap-v2-modal-plugin.html 描述 Bootstrap Modals(模态框)是使用定制的 Jquery ...

  4. 嵌入式实时操作系统μCOS原理与实践+事件部分代码

    //事件等待表的初始化函数:pevent表示事件控制块的指针#if (OS_EVENT_EN)void  OS_EventWaitListInit (OS_EVENT *pevent){    INT ...

  5. php实现文件安全下载

    public function downloads($name){ $name_tmp = explode("_",$name); $type = $name_tmp[0]; $f ...

  6. VS2013 EMMET插件学习

    在VS2013中搜索EMMET插件,安装,重启IDE,即可使用. 最简单的一个用法示例: 在编辑器里输入:ul>li*5 按快捷键:CTRL+1 即可生成如下代码: <ul> < ...

  7. iOS-AFN "Request failed: unacceptable content-type: text/plain"

    今天使用AFN测试程序时,返回如下错误 这是由于AFN默认不支持http返回结果为"text/plain"这种类型所致. 解决办法: 找到AFN框架中的AFURLResponseS ...

  8. 一个不安装Oracle客户端的方法------未经试验

    (一)不安装客户端的解决办法.第一种方法:1.在安装ORACLE服务器的机器上搜索下列文件,oci.dllocijdbc10.dllociw32.dllorannzsbb10.dlloraocci10 ...

  9. 转>>在同一个sql语句中如何写不同条件的count数量

    今天在做Portal中的Dashboard展现的时候,需要对多个统计字段做展现,根据我现在的掌握水平,我只能在sql调用构建器中实现一种sql语 句返回的resultSet做展现.没有办法,只能从数据 ...

  10. 滑动菜单栏(一)开源项目SlidingMenu的使用

    本帖最后由 user1 于 2013-7-16 21:56 编辑 一.SlidingMenu简介相信大家对SlidingMenu都不陌生了,它是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右 ...