您想知道是否可以在没有子查询的情况下执行此 *** 作。 不,你不能。
如果“收费”中的一行在“税费”中具有多个对应行,那么您不能简单地联接表而不复制“收费”行。然后,正如您所发现的,对它们进行汇总时,将获得多个副本。
您需要一种方法来获取一个虚拟表(子查询),其中每个Charge都有一行。
SELECt ch.customer_id, ch.amount amount, tx.tax taxFROM ChargesLEFT JOIN ( SELECt SUM(amount) tax, charge_id FROM Taxes GROUP BY charge_id ) tx ON ch.id = tx.charge_id
然后,您可以将该子查询加入到“客户”表中,以按客户汇总销售额。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)