1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| <?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.example.erp.mapper.sd.OrderOtherMoneyMapper">
| <select id="findById">
| select
| a.order_id,
| b.`column`,
| a.quantity,
| a.price,
| a.money,
| a.create_time,
| b.alias,
| b.id,
| a.delivery_state
| from basic_other_money as b
| left join order_other_money as a
| on a.`column` = b.`column` and a.order_id = #{orderId}
| where b.`column` like 'M%' and b.state=1
|
| UNION ALL
|
| -- 查询 order_other_money 表中 column 为空的记录
| SELECT
| a.order_id,
| null AS `column`,
| a.quantity,
| a.price,
| a.money,
| a.create_time,
| a.alias, -- 使用 order_other_money 表中的别名
| a.id,
| a.delivery_state
| FROM order_other_money AS a
| WHERE a.order_id = #{orderId}
| AND (a.`column` IS NULL OR a.`column` = '')
| </select>
|
| <select id="selectGrossAmount">
| select ifnull(sum(money),0) from order_other_money where order_id = #{orderId}
| </select>
|
|
| </mapper>
|
|