SELECT distinct
      u.Name as UserName,
      a.OrderId,
      (
      select  d.SignCity from T_OperaterInfo o left join T_DepartmentInfo d on o.DepId=d.DepId where o.OptId=a.CreateUserId
      ) jinjianchengshi,
      o.Name as lurukefu,
      p.ProductName,
      VerifyName = v.VerifyName ,
      DepName=
      (
      select  D6.DepName from  T_OperaterInfo O5
      left join  T_DepartmentInfo D5 on D5.DepId = O5.DepId
      left join  T_DepartmentInfo D6 on D6.DepId = D5.ParentDepId
      where  a.FirstVerifyOptId = O5.OptId
      ) ,
      a.NetAmount,
      a.Amount,
      a.Term,
      a.RepayPerMonth,
      (select count(1) from T_VerifySituation v1 where v1.VerifyStatus=1005 and v1.OrderId=a.OrderId) tuihuicishu,
      vst3.RefuseWayName as  jujueyuanyin,
      vst10.VerifyDate   as  lixiangshijian,
      'jinjianshijian' =
      case
      when  ( CONVERT(varchar(100), vs2.VerifyDate, 20)) is not null then ( CONVERT(varchar(100), vs2.VerifyDate, 20))
      else
      CONVERT(varchar(100),  vst4.VerifyDate , 20)
      end,
      vst5.VerifyDate  as  zongpingshijian,
      CONVERT(varchar(100), a.ContractStartDate, 20) jihuaqianyueshijian ,
      CONVERT(varchar(100), a.ContractEndDate, 20) hetongjieshushijian,
      (select O1.Name from T_OperaterInfo O1 where O1.OptId=  a.FirstVerifyOptId ) chushen,
      (select O2.Name from T_OperaterInfo O2 where O2.OptId=  a.LastVerifyOptId ) zhongshen,
      (select O3.Name from T_OperaterInfo O3 where O3.OptId=  a.TotalReviewOptId ) zongping,
      (select O4.Name from T_OperaterInfo O4 where O4.OptId=  a.ReconsiderOptId ) fuyi,
      ''''+(  select cast(u.IDCard as varchar(25)))  as  IDCard,
      vst6.AuditOpinion as  chushenyijian,
      vst7.AuditOpinion as   zhongshenyijian,
      vst8.AuditOpinion as   zongpingyijian,
      vst9.AuditOpinion as  fuyiyijian,
      shifougenggaichanpin = case when a.IsAccordanceProduct=1 then '是' else '否' end ,
      'ChangeProductName'=
      case
      when  (a.ChangeProductName is not null and a.ChangeProductName != '')   then substring(a.ChangeProductName,0,charindex(',', ChangeProductName))
      end,
      shifoulianmingjiekuan =case when a.IsCoborrowLoan = 1 then '是' else '否' end,
      'CoborrowName'=
      case
      when  (a.CoborrowName is not null and a.CoborrowName !=  '')   then substring(a.CoborrowName,0,charindex(',', CoborrowName))
      end
      FROM  T_LoanProductOrder as a
      inner join T_UserInfo as u on a.UserId=u.UserId
      inner join T_VerfyStatus as v on a.VerifyStatus=v.VerifyId
      inner join T_Product as p on a.ProductTypeId=p.ProductId
      left join T_OperaterInfo as o on o.OptId=a.CreateUserId
      left join T_DepartmentInfo as d on o.DepId=d.DepId
      left join T_UserWorkInfo as w on u.UserId=w.UserId
      left join (select     OrderId, VerifyDate = max (VerifyDate)  ,flag=count(*) from T_VerifySituation where  VerifyStatus=3023 group by OrderId  ) vs2 on a.OrderId=vs2.OrderId
      left join (select    OrderId, RefuseWayName ,VerifyDate = max (VerifyDate) ,flag=count(*) from T_VerifySituation where  VerifyStatus in (1015,1016) group by OrderId ,RefuseWayName) vst3 on a.OrderId=vst3.OrderId
      left join (select    OrderId ,VerifyDate = max (VerifyDate)  ,flag=count(*) from T_VerifySituation where  VerifyStatus in (1002) group by OrderId ) vst4 on a.OrderId=vst4.OrderId
      left join (select    OrderId ,VerifyDate = max (VerifyDate) ,flag=count(*)  from T_VerifySituation where  VerifyStatus in (1008 ,1015 )   group by OrderId ) vst5 on a.OrderId=vst5.OrderId
      left join (select OrderId ,VerifyDate,AuditOpinion from (
select ROW_NUMBER() over(partition by OrderId order by VerifyDate desc) ROWNO,OrderId ,VerifyDate = max (VerifyDate),AuditOpinion 
from T_VerifySituation where  VerifyStatus in (1004,1005,3013,3016,1028 )  group by OrderId,VerifyDate,AuditOpinion
) as t   where ROWNO=1 ) vst6 on a.OrderId=vst6.OrderId
      left join (
 select OrderId ,VerifyDate,AuditOpinion from (
select ROW_NUMBER() over(partition by OrderId order by VerifyDate desc) ROWNO,OrderId ,VerifyDate = max (VerifyDate),AuditOpinion 
from T_VerifySituation where  VerifyStatus in (1006,1007,3018,3025,1029 )  group by OrderId,VerifyDate,AuditOpinion
) as t   where ROWNO=1 ) vst7 on a.OrderId=vst7.OrderId
      left join (
 select OrderId ,VerifyDate,AuditOpinion from (
select ROW_NUMBER() over(partition by OrderId order by VerifyDate desc) ROWNO,OrderId ,VerifyDate = max (VerifyDate),AuditOpinion 
from T_VerifySituation where  VerifyStatus in (1008, 1009 ,1015)  group by OrderId,VerifyDate,AuditOpinion
) as t   where ROWNO=1
 ) vst8 on a.OrderId=vst8.OrderId
      left join (
 select OrderId ,VerifyDate,AuditOpinion from (
select ROW_NUMBER() over(partition by OrderId order by VerifyDate desc) ROWNO,OrderId ,VerifyDate = max (VerifyDate),AuditOpinion 
from T_VerifySituation where  VerifyStatus in (1010,1011)  group by OrderId,VerifyDate,AuditOpinion
) as t  where ROWNO=1 ) vst9 on a.OrderId=vst9.OrderId
      left join (select    OrderId ,VerifyDate = min (VerifyDate),AuditOpinion ,flag=count(*)  from T_VerifySituation where  VerifyStatus in (1002) group by OrderId ,AuditOpinion ) vst10 on a.OrderId=vst10.OrderId
      where 1=1
  and a.ProductTypeId !=30013 
  and a.OrderId=11376

复杂的sql 一对多查询的更多相关文章

  1. sql 一对多查询

    1. 一对多查询 查询departmentinfo字典下所有部门的人员数量 select * from departmentinfo a left join (select count(*) User ...

  2. sql 一对多查询最近一条

    感谢 http://bbs.csdn.net/topics/391048578?page=1 create table A ( [Id] [uniqueidentifier] NOT NULL, ) ...

  3. [译]LINT TO SQL 介绍(数据库查询) - Part.3

    出处:Linq To Sql (Part.3 – Querying our database) 术语表 Built-in:内置的 Clause:子句 Debugger:调试器 Object Relat ...

  4. mybatis0204 一对多查询

    查询所有订单信息及订单下的订单明细信息. sql语句 主查询表:订单表 关联查询表:订单明细 SELECT orders.*, user.username, user.sex , orderdetai ...

  5. JAVAEE——Mybatis第二天:输入和输出映射、动态sql、关联查询、Mybatis整合spring、Mybatis逆向工程

    1. 学习计划 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If标签 b) Where标签 c) Sql片段 d) Foreach标签 3.关联查询 a) 一对 ...

  6. mybatis的一对一,一对多查询,延迟加载,缓存介绍

    一对一查询 需求 查询订单信息关联查询用户信息 sql语句 /*通过orders关联查询用户使用user_id一个外键,只能关联查询出一条用户记录就可以使用内连接*/ SELECT orders.*, ...

  7. mybatis第二天——动态SQL与关联查询

    大纲摘要: 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If b) Where c) Foreach d) Sql片段 3.关联查询 a) 一对一关联 b) 一 ...

  8. mybatis由浅入深day02_3一对多查询

    3 一对多查询 3.1 需求(查询订单及订单明细的信息) 查询订单及订单明细的信息. 3.2 sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可. ...

  9. hibernate一对多查询

    一对多查询 1,同时添加老师和学生案例 在进行具有关联关系的对象同时添加时 首先绑定对像间的关系 ---将多方关联一方 ---将一方关联多方 然后全部添加 备注: 1,保存老师对象时, 由于设置了学生 ...

随机推荐

  1. [JS]鼠标事件穿透的问题

    今天制作登陆窗口的效果时碰到的一个问题,如下: 标签结构如下: <div id="loginFrame"> <form class="loginFram ...

  2. git(4)如何在windows上安装git

    windows版本git(1.9.2)下载:点击下载 下完之后点击双击安装: 我安装的是默认的目录:一路next,最后就安装完成了,中间步骤中也有unix下安装的选项: 我的安装目录是在:C:\Pro ...

  3. linux命令(10)使用kill杀死含有指定关键字的进程

    命令:ps -ef|grep keyword|grep -v grep|cut -c 9-15|xargs kill -9 批量杀死包含关键字“keyword”的进程. "ps -ef&qu ...

  4. Error: L6218E: Undefined symbol TIM_ARRPreloadConfig (referred from pwm_output.o).

    出错原因:模板FWLIB中没有添加stm32f10x_tim.c文件.添加即可 一般利用库开发,将ppp.c(ppp.c又调用了库stm32f10x_xx.h)写好之后的调用步骤: 1 将ppp.c和 ...

  5. M2M

    1, M2M (数据算法模型) M2M是将数据从一台终端传送到另一台终端,也就是机器与机器(Machine to Machine)的对话.   M2M简介 但从广义上M2M可代表机器对机器(Machi ...

  6. ubuntu开机遇到-您的当前网络有.local域,我们不建议这样做而且这与AVAHI网络服务探测不兼容。该服务已被禁用

    解决 http://askubuntu.com/questions/339702/network-service-discovery-disabled-what-does-this-mean-for- ...

  7. char 汉字

    Unicode/UCS总结: UCS和Unicode使用最大32bit来表示字符(它的范围很大,但不一定全使用,常使的是UCS-2),它用2~4个字节的空间描述了已知的接近全部的字符(并且仍在更新,还 ...

  8. affine transformation matrix 仿射变换矩阵 与 OpenGL

    变换模型是指根据待匹配图像与背景图像之间几何畸变的情况,所选择的能最佳拟合两幅图像之间变化的几何变换模型.可采用的变换模型有如下几种:刚性变换.仿射变换.透视变换和非线形变换等,如下图: 参考: ht ...

  9. iOS UILabel详解

    1.创建 CGRect rect = CGRectMake(100, 200, 50, 50); UILabel *label = [[UILabel alloc] initWithFrame:rec ...

  10. Servlet跳转到Jsp的指定div

    问题: 首页点击一个连接,切换div(id = cc_bi)             <div id="K_a">                 <a href ...