![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно сдеать запрос? [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)
ПС
Рекомендую подумать насчет реинжиниринга неправильной структурой твоей БД.