SQL-запрос для присоединения «GeneralJournalAccountEntry» к таблице «CustInvoiceTrans» для получения значения столбца «MainAccount» - PullRequest
0 голосов
/ 10 декабря 2018

У нас есть среда Dynamics AX 2012, поддерживаемая SQL Server.Мы загружаем данные строки счета из таблицы "CustInvoiceTrans" в таблицу фактов EDW.Мы хотим найти значение столбца «MainAccount» для каждой строки счета-фактуры, поскольку оно относится к таблице «GeneralJournalAccountEntry».Это нужно будет сделать с помощью SQL-запроса.

Я попытался выполнить поиск в Интернете по этой теме, но не нашел ничего определенного.Я также искал представления AX SQL в надежде найти там решение, но ничего не нашел.Вполне возможно, что я что-то упустил, хотя.

Псевдо-пример SQL:

SELECT CIT.InvoiceID
        ,CIT.InvoiceDate
        ,CIT.SalesPrice
        ,GJAE.MainAccount
FROM CustInvoiceTrans CIT
LEFT JOIN {..Some table(s)} ST
    ON ST.{SomeColumn} = CIT.{SomeColumn}
LEFT JOIN GeneralJournalAccountEntry GJAE
    ON GJAE.{SomeColumn} = ST.{SomeColumn}

Если это возможно, предполагается, что одна строка счета-фактуры относится к одной строке ввода счета в Главной книге.вернуть один главный счет.Я не уверен, можно ли разделить строку счета-фактуры между несколькими строками ввода в Главной книге.

1 Ответ

0 голосов
/ 10 декабря 2018

Мне кажется, что вы беспокоитесь, что в результате вы можете получить дубликаты, когда присоединитесь к таблице GeneralJournalAccountEntry?Мой пример показывает, как вы можете убедиться, что таблица GeneralJournalAccountEntry имеет отношение 1: 1 с таблицей CustInvoiceTrans.Я предположил:

  • Что есть первичный ключ для ваших учетных записей и клиентов (AccountId и CustomerId)
  • Что есть какая-то таблица, которая сопоставляет данные клиентов с аккаунтами

    ВЫБРАТЬ cit.InvoiceID, cit.InvoiceDate, cit.SalesPrice, t.MainAccount FROM (ВЫБРАТЬ gjae.AccountId, gjae.MainAccount FROM GeneralJournalAccountEntry gjae ГРУППА gjae.AccountId, gcceta).ON st.AccountId = t.AccountId JOIN CustInvoiceTrans cit ON cit.CustomerId = st.CustomerId

...