Не включает указанное выражение как часть совокупного представления. Что это значит? - PullRequest
0 голосов
/ 19 ноября 2018

Я использовал следующий код, который дает мне ошибку

«Ваш запрос не включает указанное выражение« Остаток »как часть совокупного представления»

SELECT
    [Insurance Policy Coverage].[Retention]-Sum([Net Invoice amount Approved]) AS Remaining,
    [Vendor Matter Detail].[Chubb Claim number], 
    [Insurance Policy Coverage].Retention, 
    [Vendor Matter Detail].[Insurance Policy Coverage ID]
FROM 
    (
        [List of Law Firms] INNER JOIN 
        (
            (
                [Database] INNER JOIN [Invoice Entries] ON 
                Database.[Short Name] = [Invoice Entries].[Short Name]
            )
            INNER JOIN [Invoice Payment Processing] ON 
            Database.[Short Name] = [Invoice Payment Processing].[Short Name]
        )
        ON 
        ([List of Law Firms].[Law Firm] = [Invoice Entries].Vendor) AND 
        ([List of Law Firms].[Law Firm] = Database.[Law Firm].Value)
    )
    INNER JOIN 
    (
        [Insurance Policy Coverage] INNER JOIN [Vendor Matter Detail] ON
        ([Insurance Policy Coverage].[Insurance Policy ID] = [Vendor Matter Detail].[Insurance Policy Coverage ID]) AND 
        ([Insurance Policy Coverage].[Insurance Policy ID] = [Vendor Matter Detail].[Insurance Policy Coverage ID]) AND 
        ([Insurance Policy Coverage].[Insurance Policy ID] = [Vendor Matter Detail].[Insurance Policy Coverage ID])
    )
    ON
    (Database.[Short Name] = [Vendor Matter Detail].[Short Name]) AND 
    (Database.[Short Name] = [Vendor Matter Detail].[Short Name])
GROUP BY 
    [Vendor Matter Detail].[Chubb Claim number], 
    [Insurance Policy Coverage].Retention, 
    [Vendor Matter Detail].[Insurance Policy Coverage ID];

Тем не менее, я использую подобный код для простой фиктивной базы данных, он прекрасно работает -

SELECT 
    [Insurance Coverage].[Retention Unit]-Sum([Net Invoice Amount]) AS Remaining, 
    [Matter Detail].[Claim Number], 
    [Insurance Coverage].[Retention Unit], 
    [Matter Detail].Policy
FROM 
    (
        (
            [Main Database] INNER JOIN [Matter Detail] 
            ON [Main Database].[Database ID] = [Matter Detail].[Short Name]
        ) 
        INNER JOIN [Payment Processing] ON 
        ([Main Database].[Database ID] = [Payment Processing].[Short Name]) AND
        ([Matter Detail].[Matter Detail ID] = [Payment Processing].[Matter Detail ID])
    ) 
    INNER JOIN [Insurance Coverage] ON 
    [Matter Detail].Policy = [Insurance Coverage].[Insurance ID]
GROUP BY 
    [Matter Detail].[Claim Number], 
    [Insurance Coverage].[Retention Unit], 
    [Matter Detail].Policy;

Я новичок в Microsoft Access - я прочитал несколько часто задаваемых вопросов, и я пришел к выводу, что все поля в списке полей SELECT должны быть либо включены в предложение GROUP BY, либо включены в качестве аргументов агрегатной функции SQL.

Но, для меня кажется, что есть какая-то другая ошибка; Пожалуйста, сообщите возможные причины такой ошибки.

Я ценю ваше время и заранее благодарю; дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 20 ноября 2018

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

SELECT [Insurance Policy Coverage].Retention-Sum([Net Invoice amount Approved]) AS Remaining, 
       [Vendor Matter Detail].[Chubb Claim number], 
       [Insurance Policy Coverage].Retention, 
       [Vendor Matter Detail].[Insurance Policy Coverage ID]
FROM 
       (
         [Insurance Policy Coverage] INNER JOIN [Vendor Matter Detail]  
        ON [Insurance Policy Coverage].[Insurance Policy ID] = [Vendor Matter Detail].[Insurance Policy Coverage ID]
        ) 
         INNER JOIN 
       (
          ([Database] INNER JOIN [Invoice Entries] 
           ON Database.[Short Name] = [Invoice Entries].[Short Name]
          ) 
          INNER JOIN [Invoice Payment Processing] 
     ON [Invoice Entries].[Invoice Entry ID] = [Invoice Payment Processing].[Invoice Entries ID]
       ) 
     ON [Vendor Matter Detail].[Vendor Matter ID] = [Invoice Entries].[Vendor Matter ID]
GROUP BY [Vendor Matter Detail].[Chubb Claim number], 
         [Insurance Policy Coverage].Retention, 
         [Vendor Matter Detail].[Insurance Policy Coverage ID];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...