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

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

Как правильно сдеать запрос? [D7, MSSQL]


Киря ©   (2005-09-23 13:45:00) 

Мне нужно сделать выборку данных из базы с одним условием
нужно выбрать значения
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 то делается это довольно долго
Если можно то как?
Заранее спасибо


evvcom   (2005-09-23 14:01:00) [1]

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


Nikolay M.   (2005-09-23 13:56:00) [2]


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


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


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


Наверх

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