<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chinasoft.mybatis.dao.SysSpendingMapper">
<resultMap id="BaseResultMap" type="SysSpending">
</resultMap>
<select id="selectSumTack" resultType="SysSpending">
SELECT
c.ex1 AS adminExpense,
c.ex2 AS clientExpense,
d.ex3 AS projectExpense
FROM(
SELECT a.*,b.*
FROM (
SELECT
SUM(expense) AS ex1
FROM
sys_administration_expense )
AS a
CROSS JOIN
(SELECT SUM(expense) AS ex2
FROM
sys_client_expense) AS b
WHERE 1=1
) AS c
CROSS JOIN (
SELECT SUM(expense) AS ex3
FROM sys_project_expense ) AS d
WHERE 1=1
</select>
<select id="selectTotal" resultType="java.lang.Double">
SELECT
e.admin_expense + e.client_expense + e.project_expense AS sumTotal
FROM (
SELECT
c.ex1 AS admin_expense,
c.ex2 AS client_expense,
d.ex3 AS project_expense
FROM(
SELECT a.*,b.*
FROM (
SELECT
SUM(expense) AS ex1
FROM sys_administration_expense ) AS a
CROSS JOIN
(SELECT SUM(expense) AS ex2
FROM sys_client_expense) AS b
WHERE 1=1
) AS c CROSS JOIN (
SELECT SUM(expense) AS ex3
FROM sys_project_expense ) AS d
WHERE 1=1) AS e
</select>
<select id="selectRunn" resultType="java.lang.Double">
SELECT
a.back_money-b.total AS runn
FROM ( SELECT
SUM(b.back_money) AS back_money
FROM
(SELECT
a.*
FROM
(SELECT
clcobcl.* ,
clcobcl.money-clcobcl.back_money AS left_money
FROM
(SELECT
clcobc.id ,
clcobc.number,
clcobc.name,
clcobc.type,
clcobc.money,
clcobc.create_name,
clcobc.create_time,
clcobc.associated_customers,
clcobc.contract_no,
clcobc.back_money_state,
SUM(clcobc.back_money) AS back_money
FROM
(SELECT
clco.id ,
clco.number,
clco.name,
clco.type,
clco.money,
clco.create_name,
clco.create_time,
clco.associated_customers,
bm.contract_no,
bm.back_money_state,
IF(bm.back_money_state = 1,bm.back_money,0) AS back_money
FROM
(SELECT DISTINCT
con.id ,
con.number,
con.name,
con.type,
con.money,
con.create_name,
con.create_time,
sc.name AS associated_customers
FROM
sys_contract AS con
LEFT JOIN
sys_client AS sc
ON
sc.name = con.associated_customers) AS clco
LEFT JOIN
sys_back_money AS bm
ON
clco.number = bm.contract_no) AS clcobc
GROUP BY
clcobc.number) AS clcobcl) AS a
LEFT JOIN
sys_project_expense AS spe
ON
a.number = spe.contract_number
GROUP BY a.number) AS b) a
CROSS JOIN
( SELECT
e.admin_expense + e.client_expense + e.project_expense AS total
FROM (
SELECT
c.ex1 AS admin_expense,
c.ex2 AS client_expense,
d.ex3 AS project_expense
FROM(
SELECT
a.*,b.*
FROM (
SELECT
SUM(expense) AS ex1
FROM sys_administration_expense ) AS a
CROSS JOIN
(SELECT SUM(expense) AS ex2
FROM sys_client_expense) AS b
WHERE 1=1
) AS c
CROSS JOIN (
SELECT SUM(expense) AS ex3
FROM sys_project_expense ) AS d
WHERE 1=1) AS e)AS b
WHERE 1=1
</select>
</mapper>
finance-SysSpendingMapper
猜你喜欢
转载自blog.csdn.net/qq_29380733/article/details/86291461
今日推荐
周排行