Деление с участием count()

iCyclone
Дата: 28.12.2011 13:53:53
Здравствуйте.
Имеется некая база на Access, необходимо выполнить простые математически операции с участием count().

Запрос выглядит следующим образом:
SELECT Организации.[Название организации]
, count(counter.[Адрес (куда/откуда)]) AS [Количество отказов]
, [Экспертное голосование].[Объём поставок]

FROM Организации
, (SELECT Письма.[Адрес (куда/откуда)]
    FROM Отказы INNER JOIN Письма ON Отказы.[Код отказа] = Письма.[По отказу].Value
    WHERE Отказы.[Характер дефекта по согл]='Производственный отказ'
)  AS [counter]
, [Экспертное голосование]

WHERE Организации.[Название организации] = counter.[Адрес (куда/откуда)]
AND Организации.[Название организации] = [Экспертное голосование].[Название организации]

GROUP BY Организации.[Название организации]
, [Экспертное голосование].[Объём поставок]


И его результат
Название организации | Количество отказов | Объём поставок
aaa | 9 | 15000
bbb | 12 | 50000


Как в новом столбце запроса поделить [Количество отказов] на [Объём поставок]?
Мои попытки вида ( count(counter.[Адрес (куда/откуда)]) AS [Количество отказов] / [Экспертное голосование].[Объём поставок] ) не приводят к успеху... "пропущен оператор".

Microsoft Access 2007

Спасибо.
непоймучка
Дата: 28.12.2011 13:58:15
iCyclone
Как в новом столбце запроса поделить [Количество отказов] на [Объём поставок]?
Мои попытки вида ( count(counter.[Адрес (куда/откуда)]) AS [Количество отказов] / [Экспертное голосование].[Объём поставок] ) не приводят к успеху... "пропущен оператор".

Microsoft Access 2007

Спасибо.

так попробуйте
[Количество отказов]/[Экспертное голосование].[Объём поставок] AS [Нечто]
iCyclone
Дата: 28.12.2011 13:59:08
Также попытки включить выражение в GROUP BY -> http://pastebin.com/ab1WBpA9 выдаёт неизвестную ошибку.
iCyclone
Дата: 28.12.2011 14:00:31
непоймучка,

Ошибка синтаксиса (пропущен оператор) в выражении '[Количество отказов]/[Экспертное голосование].[Объём поставок]'.
lord_de_tempest
Дата: 28.12.2011 14:20:50
count(counter.[Адрес (куда/откуда)]) / [Экспертное голосование].[Объём поставок]
непоймучка
Дата: 28.12.2011 14:22:35
iCyclone
непоймучка,

Ошибка синтаксиса (пропущен оператор) в выражении '[Количество отказов]/[Экспертное голосование].[Объём поставок]'.

вот так ошибка?
SELECT Организации.[Название организации]
, count(counter.[Адрес (куда/откуда)]) AS [Количество отказов]
, [Экспертное голосование].[Объём поставок]
, [Количество отказов]/[Экспертное голосование].[Объём поставок] AS [Нечто]

FROM Организации
, (SELECT Письма.[Адрес (куда/откуда)]
    FROM Отказы INNER JOIN Письма ON Отказы.[Код отказа] = Письма.[По отказу].Value
    WHERE Отказы.[Характер дефекта по согл]='Производственный отказ'
)  AS [counter]
, [Экспертное голосование]

WHERE Организации.[Название организации] = counter.[Адрес (куда/откуда)]
AND Организации.[Название организации] = [Экспертное голосование].[Название организации]

GROUP BY Организации.[Название организации]
, [Экспертное голосование].[Объём поставок]
iCyclone
Дата: 28.12.2011 16:14:18
Вот так наконец-то получилось.

SELECT Организации.[Название организации] AS ORG_NAME
, [Экспертное голосование].[Объём поставок] AS VAL
, count( counter.ORG) AS CNT

, (CNT/[Экспертное голосование].[Объём поставок])*100 AS PRODUCT_QUAL

FROM Организации,
(
  SELECT Письма.[Адрес (куда/откуда)] AS ORG
  FROM Отказы INNER JOIN Письма ON Отказы.[Код отказа] = Письма.[По отказу].Value
  WHERE Отказы.[Характер дефекта по согл]='Производственный отказ'
)  AS [counter]
, [Экспертное голосование]

WHERE Организации.[Название организации] = counter.[Адрес (куда/откуда)]
AND Организации.[Название организации] = [Экспертное голосование].[Название организации]

GROUP BY Организации.[Название организации]
, [Экспертное голосование].[Объём поставок]
Программист-Любитель
Дата: 28.12.2011 17:08:33
Лучше бы иннер джоин.