您好,MySQL 和 SQLite 有些方言不一样,就那上面 SQL 来说:
select
d.`客户ID`,
d.`币种`,
d.`税`,
sum(d.`订单金额`) as `订单总金额`,
sum(d.`出货金额`) as `出货总金额`
from
(
SELECT
b.客户ID,
b.`币种`,
a.`税`,
a.`单价` * a.`数量` as `订单金额`,
0 as 出货金额
FROM
`销售订单详情` as a
left join `销售订单` as b on a.`销售订单ID` = b.`ID`
union ALL
SELECT
c.`客户ID`,
c.`币种`,
b.`税`,
0 as `订单金额`,
a.`出货数量` * b.`单价` as 出货金额
FROM
`销售出货记录` as a
left join `销售订单详情` as b on a.`销售订单详情ID` = b.`ID`
left join `销售订单` as c on b.`销售订单ID` = c.`ID`
) as d
group by
`客户ID`,
`币种`,
`税`
需要调整程上面那样,双引号修改为反引号,给表其别名。
您可以参考下。 |