Псевдоним, где запрос в SOQL - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь получить счет от объекта Lead , используя SOQL. Когда я нажимаю на запрос, упомянутый ниже, я получаю результаты.

select 'Lead' as source_table,count(*) as source_count from Lead

Но когда я пытаюсь задать условие where с этим запросом, он выдает ошибку.

выберите 'Lead' в качестве source_table, count () в качестве source_count из Lead, где CreatedDate> 2020-02-24T09: 43: 51Z

Есть что-то, чего мне не хватает.

1 Ответ

0 голосов
/ 03 марта 2020

Ваш запрос не является допустимым SOQL, где именно вы это делаете? В реальном Salesforce (Apex, консоль разработчика, Salesforce API) или вы работаете с некоторой копией данных, импортированных, например, в MS SQL?

Даже ваша базовая форма c (select 'Lead' as source_table,count(*) as source_count from Lead) не будет разобрать ОК в SOQL. Здесь нет ключевого слова AS и пустых столбцов.

Ближайшим будет

SELECT COUNT(Id) source_count
FROM Lead
WHERE CreatedDate > 2020-02-24T09:43:51Z

Не будет искусственного столбца с надписью "Lead". Если вам нужны какие-то значения ключа в нескольких таблицах базы данных, вам нужно будет обрабатывать результаты в Apex, возможно, создайте вспомогательный класс для хранения результатов, возможно, будет достаточно Map<String, Integer>. Но если вы делаете это как доступ к API, то гораздо лучше было бы получить доступ к выделенным API

  • getUpdated REST API - имеет «обновленные» и «удаленные» версии, если вам действительно нужно «создать», это не так здорово, если вы не отфильтруете их позже как-нибудь
  • количество записей по нескольким объектам - но это действительно количество в таблице, аналогично настройке -> Использование хранилища , Невозможно передать предложение WHERE
  • . Попросить своего администратора SF создать отчет, который будет делать то, что вам нужно (вам не нужны подробности, просто счетчик, верно?), А затем получить доступ к результатам с помощью Analytics API. Или даже построить отчет на лету: пример
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...