Open1

[WIP]複数項目の重複条件でSOQLを実行したい

barusubarusu

やりたかったこと

単一のオブジェクトにおいて、複数項目で重複しているレコード数を出力したい

オブジェクト:取引先

重複条件:phone + Fax + 郵便番号 が一致しているレコード数

調べたこと

SOQLのチートシート - Qiita

記載なし...やっぱり無理か?

集計関数 | SOQL および SOSL リファレンス | Salesforce Developers

仮説

Where句で項目を指定できないか

→ 循環参照になるのでできない

HAVING COUNT を使えばいけるのでは

→ HAVING COUNTがCOUNTするのはあくまでも一致する項目の数のみ。レコードを返さない

COUNT_DISTINCTを使えばいけるのでは

→ COUNT_DISTINCT は単一項目の重複していない数を返すのみ。複数項目を評価するのは無理。

数式:テキスト項目を別途作成し、複数項目を連結して単一項目にする → SOQLで単一項目をGroup BYすればいいのでは

→ 未検証。

解決策

2021/02/24時点

見つからず!

暫定策

結局このとき(2021/02/24)はデータローダでCSV出力してCountifとか使って加工して対応した。