私は顧客のための値を保持する2つのテーブルがあります。第1のテーブルは顧客の名前を保持し、第2のテーブルはトランザクションなどの顧客に関する情報を保持する。
最初のテーブルは次のようになります
CustomerID Name
1 Joe
2 Jane
2番目のテーブルは次のようになります
TransactID CustomerID Reference
1 1 REF123
2 2 REF123
3 1 REF321
参照列とそれに属している顧客のすべての重複を識別できる必要があります。ジョー、ジェーン
私は現時点でのコードは次のように見えます
SELECT o.name, COUNT(p.reference) as RefCount
FROM (t_cust as o
INNER JOIN t_custprop as p
ON o.customerid = p.customerid)
GROUP BY o.name, p.reference
HAVING (COUNT(p.reference)>1)
ORDER BY o.name ASC
重複している可能性のある値がわからないので、上記のコードは顧客の名前と重複している可能性のある参照を返しません。
回答:
回答№1は1あなたが数えているアイテムをグループ化すると、カウントは1になります。これは、あなたのhaving句によって取り除かれます。
SELECT o.name, p.reference
FROM t_cust o
INNER JOIN t_custprop p ON o.customerid = p.customerid
WHERE p.reference IN (
SELECT p2.reference
FROM t_custprop p2
GROUP BY p2.reference
HAVING COUNT(p2.customerid) > 1
)
ORDER BY o.name ASC