Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как показать процент? [D7, JET]


azamatufa ©   (2007-06-26 12:29:00) 

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

Вроде вопрос простой.. но не могу решить оптимально.
Имею таблицу с полями 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;


Desdechado   (2007-06-26 15:55:00) [1]

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


azamatufa   (2007-06-26 15:10:00) [2]


> 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


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


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

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


Desdechado   (2007-06-26 12:50:00) [4]

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


ЮЮ   (2007-06-26 12:40:00) [5]

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


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо