Может кто-нибудь объяснить мне этот запрос SOQL? - PullRequest
0 голосов
/ 31 марта 2011

У меня есть один запрос SOQL.Список полей может включать подзапрос, если запрос пересекает отношение.Например:

SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account

Я не мог понять строку «пересекает отношения», кто-нибудь может это объяснить?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2011

В этом случае это означает, что вы можете вызвать отношение один ко многим со стороны «многие» внутри запроса со стороны объекта «один».По сути, это похоже на вложенный запрос в SQL, запрашивающий подтаблицу на основе текущей позиции курсора в верхнем запросе.Разница в основном заключается в том, что результирующий набор начинается в SQL ровно, а в SOQL - иерархическим.

Чтобы сделать его еще более понятным, этот запрос означает: foreach загружает имя учетной записи и перебирает все его контакты, чтобы получить фамилии контактов.Если есть одна учетная запись с 10 контактами, вы получите одну основную строку, а ее список контактов будет содержать 10 строк

0 голосов
/ 31 марта 2011

Я полагаю, они говорят, что вы можете использовать SELECT для возврата полей из таблиц, которые имеют отношение к таблице в вашем предложении FROM, если они имеют отношение и вы используете подзапрос.В вашем примере вы можете использовать подзапрос для возврата «LastName» из таблицы «Contact», даже если ваш FROM извлекает из «Account», потому что там есть связь («Account.Contacts»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...