Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: CL | DM;

Вниз

Как показать процент?   Найти похожие ветки 

 
azamatufa ©   (2007-06-26 12:29) [0]

Горячо и сердечно Вас, дорогие.

Вроде вопрос простой.. но не могу решить оптимально.
Имею таблицу с полями A и B (целые числа).
Хочу показать третьей колонкой процент A от B.
Вроде просто:
SELECT A, B, A/B*100 AS Procent FROM Table1

но мой JET (access) вылетает при делении "на ноль".

Как такие вещи делать оптимально? (создавать временные таблицы не охота вроде...)

Спасибо!!!
------------------------------------------
дальше можно не читать...

может быть сделать так?
1. положить компоненту RxMemoryData
2. в начале программы объявить шлобальную переменную FieldProcent : TStringField
3. Создать процедуру, которая
    - копирует данные из запроса SELECT A,B FROM Table1 в RxMemoryData
    - добавляет в RxMemoryData еще поле FieldProcent (FieldProcent := TStringList.Create(RxMemoryData) ....)
    - пройдемся по RxMemoryData и проставим процент
4. В конце скажем FieldProcent.Free;


 
ЮЮ ©   (2007-06-26 12:40) [1]

> но мой JET (access) вылетает при делении "на ноль".


А сколько % хочешь получить, когда В = 0 ?
А NULL в поле B может быть? Сколько это в % в этом случае.
И, наконец, когда A IS Null, а B - нет это сколько в %?


 
Desdechado ©   (2007-06-26 12:50) [2]

SELECT A, B, A/B*100 AS Procent FROM Table1
WHERE B <> 0 AND B IS NOT NULL
UNION
SELECT A, B, 0 AS Procent FROM Table1
WHERE B = 0 OR B IS NULL


 
Savek   (2007-06-26 14:34) [3]

Select A,B, IIF(B>0,A/B*100,0) as Procent from Table1


 
azamatufa ©   (2007-06-26 15:10) [4]


> Desdechado
> SELECT A, B, A/B*100 AS Procent FROM Table1WHERE B <> 0
> AND B IS NOT NULLUNIONSELECT A, B, 0 AS Procent FROM Table1WHERE
> B = 0 OR B IS NULL


Спасибо, то что нужно!!


 
Desdechado ©   (2007-06-26 15:55) [5]

Ай-ай, я ошибся. Поставь UNION ALL, а то дубли пропадут.



Страницы: 1 вся ветка

Текущий архив: 2007.11.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1182841606
ambhtr
2007-06-26 11:06
2007.11.04
SELECT .... IN


15-1190816741
hinst
2007-09-26 18:25
2007.11.04
Elf off


15-1191618106
SerJaNT
2007-10-06 01:01
2007.11.04
Тестирование в игровой форме


11-1175321503
Trible
2007-03-31 10:11
2007.11.04
Options для EditBox


15-1190696752
арпывапр
2007-09-25 09:05
2007.11.04
блокировка alt+ctrl+del или что делать с USB