使用派生表进行完全外部联接-mysql
我在两个表上进行完全外部联接时遇到问题,我使用的sql如下所示:使用派生表进行完全外部联接-mysql,mysql,sql,join,Mysql,Sql,Join,我在两个表上进行完全外部联接时遇到问题,我使用的sql如下所示: SELECT a.sryear, b.reqyear, a.mid, b.description, sum(a.kmq + b.rmq) as sum FROM (select EXTRACT(YEAR FROM t.date) AS srYear, m.materialid as mid, m.description, sum(km.quantity) as
SELECT
a.sryear,
b.reqyear,
a.mid,
b.description,
sum(a.kmq + b.rmq) as sum
FROM
(select
EXTRACT(YEAR
FROM
t.date) AS srYear,
m.materialid as mid,
m.description,
sum(km.quantity) as kmq
FROM
kit k,
kitmaterial km,
materials m,
service s,
transaction t
WHERE
t.serviceid=s.serviceid
AND s.kitid=k.kitid
AND k.kitid=km.kitid
AND km.materialid=m.materialid
GROUP BY
srYear,
m.materialid
ORDER BY
srYear,
m.materialid) as a FULL
OUTER JOIN
, (
SELECT
EXTRACT(YEAR
FROM
r.datecreated) AS reqYear,
m.materialid as mid,
m.description as description,
sum(rm.quantity) as rmq
FROM
requisitionmaterial rm,
materials m,
requisition r
WHERE
rm.materialid=m.materialid
AND r.requisitionid=rm.requisitionid
GROUP BY
reqYear,
m.materialid
ORDER BY
reqYear,
m.materialid
) as b
ON a.mid=b.mid
AND a.sryear=b.reqyear;
如有任何协助,将不胜感激
谢谢 在内联视图
a
和b
按预期工作的情况下,存在一个问题
SELECT
....
sum(a.kmq + b.rmq) as sum
SUM()
是聚合函数。因此,如果没有分组依据
,则无法使用。你是说这个吗
SELECT
....
a.kmq + b.rmq as `sum`
否则,在内联视图
a
和b
按预期工作的情况下,应将GROUP BY与某些列一起使用,但存在一个问题
SELECT
....
sum(a.kmq + b.rmq) as sum
SUM()
是聚合函数。因此,如果没有分组依据
,则无法使用。你是说这个吗
SELECT
....
a.kmq + b.rmq as `sum`
否则,您应该将GROUP BY与某些列一起使用这太复杂了。若能尽量减少sql查询,只需要列、表即可。描述一下你的问题。你想打印什么?编辑太复杂了。若能尽量减少sql查询,只需要列、表即可。描述一下你的问题。你想打印什么