我有个问题。
我想将查询包装到视图中。为此,我必须在FROM中转换子查询。我的查询是这样的:

SELECT
    b.id,
    b.summe,
    getBauNrKomplett(b.id) as bauNrKomplett,
    b.parent_id
FROM (
        SELECT
            pt.id,
            pt.parent_id,
            SUM(m.menge*p.preis_kostenanschlag) as summe
        FROM menge m
        join projektposition p ON (m.projektposition_id=p.id)
        join positionstyp pt on (p.positionstyp_id=pt.id)
        GROUP BY pt.id
    UNION
        SELECT
            pt2.id,
            pt2.parent_id,
            null as summe
        FROM positionstyp pt2
    ) b
GROUP BY b.id


我找不到其他可能性。由于GROUP BY,我需要包装UNION语句。

有人可以想象其他解决方法吗?

非常感谢您,
托比亚斯

最佳答案

我相信这是平等的。如果不是,您可以为sqlfiddle提供一些数据和解释吗?

    SELECT
        pt.id,
        pt.parent_id,
        SUM(IF(m.menge IS NULL,0,m.menge*p.preis_kostenanschlag)) as summe,
        getBauNrKomplett(p.id) as bauNrKomplett,
    FROM positionstyp pt
    LEFT JOIN projektposition p
    ON (p.positionstyp_id=pt.id)
    LEFT JOIN menge m
    ON (m.projektposition_id=p.id)
    GROUP BY pt.id

关于mysql - MySQL的:UNION GROUP BY没有子查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30107916/

10-16 13:16