Доступ — SQL-запрос по дате с выбором суммарного значения столбца

Ниже мои исходные данные

введите здесь описание изображения

используя приведенный ниже запрос, я могу получить сводные данные за «17-09-2016»

SQL-запрос: -

SELECT key_val.A, key_val.B, key_val.C, key_val.D, Sum(IIf(key_val.Store_date=#9/17/2016#,key_val.Val,0)) AS [17-09-2016]
FROM key_val
GROUP BY key_val.A, key_val.B, key_val.C, key_val.D;

но я смотрю, что вывод должен выглядеть примерно так.

введите здесь описание изображения

В частности = мне нужны сводные данные для столбца a, b, c и для даты «17-09-2016». В excel мы применим формулу sumifs для получения желаемого результата, но в Access - SQL я не понимаю, как сформировать запрос, чтобы получить одни и те же данные.

Может ли кто-нибудь помочь мне, как добиться вышеуказанного результата с помощью Access Query?

В частности = мне нужны сводные данные для столбцов a, b, c и для даты «17-09-2016».


person Hemant    schedule 03.11.2016    source источник


Ответы (1)


Я не уверен, откуда вы взяли цифру 34 - сумму первых двух строк, хотя значения в A, B, C и D разные (поэтому группировка не будет работать)?

Предполагая, что вы хотите суммировать значения, где все остальные поля равны (A, B, C, D и Store_Date):

Этот запрос даст вам итоги, но не в том формате, который вам нужен:

SELECT      A, B, C, D, SUM(val) As Total, Store_Date
FROM        key_val
WHERE       Store_date = #9/17/2016#
GROUP BY    A,B,C,D, Store_Date

введите здесь описание изображения

Этот SQL даст вам то же самое, но для всех дат (просто удалите предложение WHERE).

SELECT      A, B, C, D, SUM(val) As Total, Store_Date
FROM        key_val
GROUP BY    A,B,C,D, Store_Date
ORDER BY    Store_Date

Это даст точную таблицу, показанную в вашем примере:

TRANSFORM   Sum(val) AS SumOfValue
SELECT      A, B, C, D
FROM        key_val
WHERE       Store_date = #9/17/2016#
GROUP BY    A,B,C,D,val
PIVOT       Store_Date

введите здесь описание изображения

Опять же, просто удалите предложение WHERE, чтобы перечислить все даты в таблице: введите здесь описание изображения

person Darren Bartrup-Cook    schedule 03.11.2016