Получите доступ к группе SQL по имени, а затем установите значения по горизонтали от месяца1 до месяца12 - PullRequest
0 голосов
/ 18 мая 2011

У меня есть таблица с (имена, деньги, дата), и я хотел бы получить (имя, деньги месяца 1, деньги месяца 2 и т. Д. До месяца12)

Как это сделать?

Я знаю, как извлечь месяц из даты;

Ответы [ 3 ]

0 голосов
/ 18 мая 2011

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

Будьте осторожны: значения за одни и те же месяцы в разные годы будут агрегированы, если только вы не отфильтруете данные за определенный год

0 голосов
/ 18 мая 2011

То, что вы хотите, называется запросом кросс-таблицы на языке msaccess (и PIVOT в больших системах).

Вот Аллен Браун приятно писать с большим вниманием к деталям.

0 голосов
/ 18 мая 2011

Первый запрос: имя, если (месяц (дата) = 1, деньги, 0) AS m1 и т. д. до m12

Второй запрос: имя, сумма (m1) AS mo1 и т. д. до mo12 группа по имени

Ограничения: только одна вставка в месяц, и запрос должен иметь годовой фильтр, который выбирает ТОЛЬКО 1 ГОД.

...