Я хочу создать две таблицы кросс-таблиц, а затем взять отношения двух, чтобы получить процент.Первый из них выглядит следующим образом:
TRANSFORM Count([Deal Data ECM].[Fees (Y/N)]) AS [CountOfFees (Y/N)]
SELECT [Deal Data ECM].[Deal Type]
FROM [Deal Data ECM]
WHERE ((([Deal Data ECM].[Fees (Y/N)])="Y"))
GROUP BY [Deal Data ECM].[Deal Type]
PIVOT [Deal Data ECM].[Deal Region];
, а второй должен иметь все то же самое, за исключением того, что для сборов (Y / N) будет установлено значение = "N".Затем я хочу разделить соответствующие значения в каждой таблице.Есть ли способ сделать это в одном выражении SQL?
РЕДАКТИРОВАТЬ:
давайте представим, что результат запроса1 и 2 следующие:
Query1
Blue Red
Cat 1 2
Dog 3 4
Query2
Blue Red
Cat 5 10
Dog 15 20
I want Query 3 to result in:
Query3
Blue Red
Cat .5 .5
Dog .5 .5
РЕДАКТИРОВАТЬ 2:Вот как выглядят данные.Более конкретно, результаты каждого запроса будут выглядеть следующим образом:
Region1 Region2 Region3
Dealtype1 some numbers in each of these cells
Dealtype2
Dealtype3
Я не уверен, зачем вам нужны реальные данные, в приведенном выше примере будет то же самое решение, что и в этом (я просто хочу знать,синтаксис, какие операторы SQL использовать и т. д.)
РЕШЕНИЕ:
TRANSFORM Sum(IIf([Disclosed Fees (Y/N)]="Y",1,0))/Count([Disclosed Fees (Y/N)]) AS percent_fees_disclosed
SELECT [Deal Data ECM].[Deal Type]
FROM [Deal Data ECM]
GROUP BY [Deal Data ECM].[Deal Type]
PIVOT [Deal Data ECM].[Deal Region];