根据提供的信息,我认为您的样本数据并不是您真正拥有的。我最好的猜测是,您的查询正在对这两个连接中的一个或两个进行扇出 *** 作,这会使您的总和混乱。您需要分别对它们进行求和,否则,那些联接中的任何一个联接上的其他行都会扇出另一个联接,从而使总和中的结果重复。这在您的结果中很明显,因为001看起来是两倍(即使您的示例数据没有显示它)。
这样的事情将确保总和彼此独立:
SELECt PR.product_no, ( SELECT sum(I.qty) FROM invoice I WHERe I.product_no=PR.product_no ) invoice_qty, ( SELECt sum(P.qty) FROM purchase P WHERe P.product_no=PR.product_no ) purchase_qtyFROM products PR
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)