Вниз
Скачать: CL | DM;

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

← →
Киря   (2005-09-23 13:45) [0]

Мне нужно сделать выборку данных из базы с одним условием
нужно выбрать значения
Typ integer;
Pers bit;
TabNo int;
Summa float;
DateOp datetime;
из таблицы Kassa

и подставить столбец Fio в котором
Если pers=1 то значение select Fio from Personal where Kassa.TabNo=Personal.TabNo
Если pers=0 то значение select Fio from Patient where Kassa.TabNo=Patient.TabNo

Можно ли это сделать с помощью SQL запроса
а то если делать это в процедуре OnCalcFields то делается это довольно долго
Если можно то как?
Заранее спасибо


← →
Nikolay M. ©   (2005-09-23 13:56) [1]


> Можно ли это сделать с помощью SQL запроса


SELECT (запрос, если pers=0)
UNION ALL
SELECT (запрос, если pers=1)


ПС
Рекомендую подумать насчет реинжиниринга неправильной структурой твоей БД.


← →
evvcom ©   (2005-09-23 14:01) [2]

select
 case k.pers
   when 0 then pt.Fio
   when 1 then pr.Fio
 end as Fio
from Kassa k
 left join Personal pr
   on pr.TabNo=k.TabNo
 left join Patient pt
   on pt.TabNo=k.TabNo



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
1-1128261565
SergP.
2005-10-02 17:59
2005.10.23
Разные результаты компрессии CompressBuf и TCompressionStream


3-1126247692
Beetle(c)]u$
2005-09-09 10:34
2005.10.23
Commit в IBase


3-1126530501
naz
2005-09-12 17:08
2005.10.23
Temporary table


4-1124447846
BFG9k
2005-08-19 14:37
2005.10.23
Некорректное поведение RasGetEntryDialParams


9-1118119264
!Trinix
2005-06-07 08:41
2005.10.23
Оптимизация glscene




   Наверх