SELECT fID, 业务类型 AS businessType, 名称 AS name, 号码 AS number, 提交日期 AS createDate, 申请人 AS applicant, 申请日期 AS applicationDate FROM (SELECT yw.fID AS fID, lc.业务类型 AS 业务类型, yw.项目名称 AS 名称, yw.项目编号 AS 号码, yw.申请日期 AS 提交日期, yw.申请人 AS 申请人, yw.申请日期 AS 申请日期 FROM v业务报告 yw LEFT JOIN t流转过程 lc ON yw.fID = lc.业务对象ID AND lc.业务类型 = '业务报告' LEFT JOIN tS步骤 bz ON lc.步骤ID = bz.fID WHERE yw.申请人ID = 1 AND bz.状态 = 1 AND bz.是否开始节点 = 1 AND lc.提交日期 IS NOT NULL UNION SELECT dz.fID AS fID, lc.业务类型, dz.项目名称, dz.项目编号, dz.申请日期, dz.申请人, dz.申请日期 FROM v电子报告 dz LEFT JOIN t流转过程 lc ON dz.fID = lc.业务对象ID AND lc.业务类型 = '电子报告' LEFT JOIN tS步骤 bz ON lc.步骤ID = bz.fID WHERE dz.申请人ID = 1 AND bz.状态 = 1 AND bz.是否开始节点 = 1 AND lc.提交日期 IS NOT NULL UNION SELECT kp.fID, lc.业务类型, kp.开票抬头, kp.发票号, kp.申请日期, kp.申请人, kp.申请日期 FROM v开票收款 kp LEFT JOIN t流转过程 lc ON kp.fID = lc.业务对象ID AND lc.业务类型 = '业务报告' LEFT JOIN tS步骤 bz ON lc.步骤ID = bz.fID WHERE kp.申请人ID = 1 AND bz.状态 = 1 AND bz.是否开始节点 = 1 AND lc.提交日期 IS NOT NULL) AS wdqq ORDER BY 提交日期 DESC
时间: 2023-02-11 15:03:30 浏览: 158
SQL 基础--SELECT 查询
这是一个 SQL 查询语句,它的主要作用是从三个不同表 (v业务报告、v电子报告、v开票收款) 中查询并返回数据。
具体地,它使用了 UNION 语句将三个表的查询结果合并成一个结果集。这些表均通过LEFT JOIN关联了另外两个表(t流转过程、tS步骤)。
其中查询条件为 申请人ID = 1 且 步骤状态 为1 且 是否为开始节点 为1 且 提交日期不为空
最后根据 提交日期 倒序排序.
要返回的字段为 fID、业务类型、名称、号码、提交日期、申请人、申请日期
阅读全文