Как получить последнюю транзакцию каждой учетной записи, используя агрегаты или запросы во внешних системах? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть учетная запись и транзакции.

Здесь одна учетная запись может иметь несколько транзакций.

Мой вопрос,

Как получить последнюю транзакцию каждой учетной записи с помощью агрегатов или запросов во внешних системах .?

Ответы [ 2 ]

2 голосов
/ 11 апреля 2019

Как я уже говорил в предыдущем вопросе, лучше использовать форум OutSystems вместо stackoverflow для вопросов, связанных с OutSytems!

Что касается вашего вопроса, вы не можете легко сделать это, используяЗаполнители;если вам нужно, вы должны добавить объект учетных записей и присоединиться к объекту транзакции, используя Max () на дату транзакции.Тем не менее, вы не можете получить идентификатор таким образом.Вы также можете использовать Max () для идентификатора, который должен быть последовательным, но в некоторых ситуациях их не должно быть (в зависимости от того, как создаются транзакции).

Используя SQL, вы используете подзапрос собъединение по идентификатору, подзапрос, имеющий топ 1 и отсортированный по дате.Но это просто стандартный SQL, не имеющий ничего общего с OutSystems.

0 голосов
/ 11 апреля 2019

Единственный способ, которым я знаю, как сделать это с Aggregate, - это объединить учетную запись с транзакциями и транзакциями с ней снова (как на картинке), используя фильтр для возврата только записей, в которых Transaction_2.Id равен NullIdentifier ()

Но я НАСТОЯТЕЛЬНО рекомендую вам использовать SQL в этом случае, так как агрегат будет выполнять перекрестное соединение, и это приведет к снижению производительности, тогда как с SQL вы можете делать то, что вы хотите, не прибегая к перекрестным соединениям.

enter image description here

Итак, это всего лишь интеллектуальное упражнение, а не то, что вы должны делать.

Продолжая, не используйте агрегат для этого типа выборки данных. Предпочитаю использовать инструмент SQL.

(из того же ответа, приведенного здесь: https://www.outsystems.com/forums/discussion/47012/how-to-get-last-transaction-of-every-account-using-aggregates/)

Приветствие.

...