私の頭は、過去2時間以内にSQL Serverと結合について読んだことがすべて爆発するところです。テーブルAに重複レコードがあるときに結合する
tbl_customers
-------------
IPaddress
CustomerID
tbl_purchases
-------------
OrderID (pkey)
CustomerID
OrderTotal
IPアドレスあたりの購入総額を取得したいとします。重複する(IPaddress、CustomerID)行が存在するように、tbl_customersテーブルにはさらに多くの列があります。私は、次のクエリを使用している:
SELECT DISTINCT IPaddress, SUM(OrderTotal) FROM tbl_customers a
INNER JOIN tbl_purchases b ON a.CustomerID = b.CustomerID
GROUP BY IPaddress;
をしかし、それはtbl_customersから重複行を取得し、同じ購入を複数回カウントするsum関数の原因となります。私は間違って何をしていますか?私が10Kのレコードの下で扱っているように、効率は実際問題ではありません。
おそらくIPaddressはtbl_purchasesにあるはずです。 –