Salesforce 架构中有两个表
+--------------+ +-------------+
| Case | | User |
|--------------| |-------------|
| CaseNumber | |id |
| ContactId | |OwnerId |
| IsClosed | |UserName |
+--------------+ +-------------+
ContactId 是映射到 OwnerId 的外键(注意 foo 在两个表中的位置?)
+-------------------------------------+ +----------------------------+
| Case | | User |
|-------------------------------------| |----------------------------|
|CaseNumber | ContactId | IsClosed | | id | OwnerId | UserName |
| | | |
|1 foo false | | 42 foo bob |
|2 bar true | | 99 bar joe |
|3 foobar false | | 10 foobar sally |
| | | |
+-------------------------------------+ +----------------------------+
我想显示案例和用户之间的关系。(例如,bob 有案例 1,joe 有案例 2 等等。)我相信这被称为Left Inner Join。如果我错了,请纠正我。
+-------------------------------------+
| |
| Case.CaseNumber | User.UserName |
| |
| 1 bob |
| 2 joe |
| 3 sally |
| |
+-------------------------------------+
这是我认为 SOQL 查询的外观。
SELECT Case.CaseNumber, User.OwnerId
FROM Case
WHERE Case.ContactId IN (SELECT User.OwnerId FROM User)
我正在关注 Salesfoce SOQL 文档 http://wiki.developerforce.com/page/A_Deeper_look_at_SOQL_and_Relationship_Queries_on_Force.com中的示例
查询 CaseNumber 和 UserName 的正确语法是什么?