2013-08-14 2 views
1

У меня есть запрос от доступа, где я caluclated процента балла три отдельных номер Ex:SQL - Просмотр столбец, который вычисляет процент от других столбцов

AFPercentageMajor: [AFNumberOfMajors]/([AFTotalMajor]-[AFMajorNA]) 

, которые могут иметь значения 20/(23-2) = 95%

I импортировали эту таблицу в моей базе данных SQL и попытался написать выражение в представлении (изменены названия столбцов чуть позже)

AF_Major/(AF_Major_Totals - AF_Major_NA) 

попробовал dding *100 в конце инструкции, но он работает только в том случае, если расчет составляет 100%. Если это что-то меньшее, чем это, то оно ставится как 0.

У меня такое чувство, что мне просто не нравится сочетание трех разных имен столбцов. Но, как я уже сказал, я все еще учился, поэтому я мог бы пойти на это совершенно неправильно!

ответ

3

SQL Server выполняет целочисленное деление. Вам нужно изменить одно из значений на представление с плавающей запятой. Будет работать следующее:

cast([AFNumberOfMajors] as float)/([AFTotalMajor]-[AFMajorNA]) 

Вы можете умножить это на 100, чтобы получить процентное значение.

+0

Удивительный! Спасибо! –

Смежные вопросы