如何编写查询SQL查询

时间:2018-08-08 11:18:21

标签: mysql sql

我有2个对象,Orderamount

Opp是父对象,而Order是子对象/表。 Opp的列为Sum,订单的列为 <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.2.11</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.2.11</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.2.11</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency>

我想要一个SQL查询,该查询可以对所有sum(列)求和,并与Opp上的Amount匹配,并仅显示匹配的记录。

1 个答案:

答案 0 :(得分:0)

针对子查询加入父项,计算子行的总和

SELECT p.*
FROM OPP p
JOIN (SELECT parent_id, SUM(amount) total 
      FROM Order
      GROUP BY parent_id) as c ON c.parent_id = p.id
WHERE c.total = p.amount

我假设OPP具有标识符id,并订购外键parent_id。我将Int用于数量列,但是如果您有某种浮动值,则可能需要舍入您的值。