2013-01-09 65 views
1

我想寫一個SOQL查詢,拉回用戶信息以及DefaultDivision的名稱。當執行以下操作:Salesforce SOQL - 用戶信息DefaultDivision

Select u.Email, u.FirstName, u.LastName, u.DefaultDivision from User u 

爲「DefaultDivision」的值是一個ID(如02d3498202020222),而不是友好的名稱(如北美)。我知道DefaultDivision映射到Division對象的Id,但是如何獲取名稱?

我已經試過了諸如:(!然而,有...)

select u.Email, (select Name from Division where Id = u.DefaultDivision) from User u 

但是,這並不工作,因爲沒有直接的關係。

回答

1

與SQL不同,SOQL不支持您在那裏給出的類型的子查詢。

在大多數情況下,SOQL哪裏有定義的,你可以查詢從直接的是明確的關係數據的明確關係,就像

select u.Email, u.DefaultDivision.Name from User u where Id=blahblahblah 

但是有些情況下這種關係並沒有明確定義了一些案件,我相信DefaultDivision是其中之一(所以實際上我上面的查詢可能不會工作)。在這種情況下,沒有單一查詢方式來獲取您想要的信息 - 您必須首先查詢分部及其ID,然後使用其DefaultDivision查詢用戶,然後使用ID解析分部名稱第一個查詢的結果。

幸運的是,這種情況不再經常發生,但在使用Divisions時,您有點深入瞭解Salesforce.com的深處,因此您可能會發現一些不尋常的東西。

+0

感謝您的答覆 - 我認爲,因爲似乎沒有明確的關係定義,我必須做你的建議。好吧! – dotNetkow