做一个了数据库查询,显示结果为日期,合计,平均值、其中合计大于100,平均值大于50(单价)
使用到两张表,使用了INNER JOIN连接了两张表的ORDNO订单号,其中EORDER_H提供TOTALAMT(销售数值),EORDER_D提供DNS(单价)
其中EORDER_H中在ORDNO两条订单号对应EHORDDAT中同一日,但是在关联表EORDER_D中ORDNO有三条订单号
现在情况就变成
表H
EHORDNO EHORDDAT TOTALAMT
1 20110311 123
2 20110311 345
表D
EDORDNO EHORDDAT
1 20110311
1 20110311
2 20110311
结果就变成了 123*2+345了
多出来了一个123
想问高手这怎么正常解决?
下面为本人代码,仅供参考
使用到两张表,使用了INNER JOIN连接了两张表的ORDNO订单号,其中EORDER_H提供TOTALAMT(销售数值),EORDER_D提供DNS(单价)
其中EORDER_H中在ORDNO两条订单号对应EHORDDAT中同一日,但是在关联表EORDER_D中ORDNO有三条订单号
现在情况就变成
表H
EHORDNO EHORDDAT TOTALAMT
1 20110311 123
2 20110311 345
表D
EDORDNO EHORDDAT
1 20110311
1 20110311
2 20110311
结果就变成了 123*2+345了
多出来了一个123
想问高手这怎么正常解决?
下面为本人代码,仅供参考
SELECT EHORDDAT,SUM(TOTALAMT) AS GS,AVG(TOTALAMT) AS Avga FROM EORDER_H INNER JOIN EORDER_D ON EORDER_H.EHORDNO = EORDER_D.EDORDNO WHERE DNS>50 GROUP BY EHORDDAT HAVING SUM(TOTALAMT)>100
解决方案
40
那就先把表D去重,然后再关联呢