Salesforceでテーブル結合 | 俺の夢ってなんだったけorz…  的な

俺の夢ってなんだったけorz…  的な

タダの日記なんだからね!!

Salesforceでテーブル結合させるには、SOQLでいきなり記述というのは今のところ無理ですが、
あらかじめリレーションをはっていれば可能です。


結構重宝します。


テーブルを作る時にリレーションをはります。

詳しくは、
http://adnblog.salesforce.co.jp/2007/04/post_9db0.html

リレーションをはるという行為は、結局のところSalesforceのデータベース特有の一意のキーであるIDを格納して、ひも付けています。
Apex Data Loaderを使えば、IDが格納されているのがわかります。

これで任意のレコード+リレーションのレコードを一気に取得できるわけです。


書き方が特有です。

「__r」を使います。

「__c」ばかり使っていると、そんな裏技が・・・と最初は思いましたw


↓中で更にselect文を記述する方法。
SELECT Id, Name, Location__c, (SELECT Id, Name FROM Employee__r) FROM Department__c

↓こんな書き方もいいようです。
SELECT Id, Name, Department__r.Name FROM Employee__c

○○ユーザーテーブルを作って、住所マスタのリレーションをはるなんてのに使えますねw

ちなみに、使う時は。

String name = Employee__c.Department__r.Name;

とか、

Department__c dep = Employee__c.Department__r;
String name = dep.Name;

こういう風に使います。