こんにちは、にいるです。
Savepoオリジナルの開発初心者向けプログラム「Sink it」です。
今回で第14回目、題材はクエリ言語の「SOQL」です。
この記事は「14.リレーションクエリ(子→親)を使ってみよう」の解説と解答です。
1.リレーションクエリ(子→親)とは
基本的な構文です。
1 |
SELECT Id,Account.Name FROM Contact |
上記のように参照項目を持っていれば、FROMに子オブジェクトを指定しても関連するデータが取得できるクエリです。
標準オブジェクトでは、取引先はいろいろなオブジェクトの親になっています。
取引先責任者、商談やケースは取引先の子です。
リレーションクエリをうまく使いこなすには、各オブジェクトの関係も把握する必要があります。
最初は親か子かわかりにくいと思いますが、子は親を見ている(子オブジェクトに親を指定する参照項目や主従項目が存在している)というふうに覚えておきましょう。
2.解答・解説
解答です。
1 2 3 4 5 |
// ①完了した商談を取引先名と一緒に取得 SELECT Name,Amount,Account.Name FROM Opportunity // ②取引先の業種が「銀行」の取引先責任者を取得 SELECT Name,Account.Name FROM Contact WHERE Account.Industry = 'Banking' |
■デバッグ
①完了した商談を取引先名と一緒に取得
②取引先の業種が「銀行」の取引先責任者を取得
参照項目、主従関係を持っているオブジェクトは子、従側になります。
この場合は、ほぼ1対多の関係だと考えてください。
なので、[SELECT 参照項目,参照項目.Name FROM 子オブジェクト]というように、レコード上に参照項目が値がちゃんと入力してあれば、その項目の中を見に行って関連データの取得が可能になります。
「.」のあとに関連オブジェクトの項目を指定すれば他の項目も参照できますし、WHERE句で使用することもできます。
3.まとめ
いかがでしたでしょうか。
リレーションクエリは関連データをそのまま一回のSOQLで取得できるので便利です。
リレーションがあるなら一度で取得しましょう!
皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!