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

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

Вложений SQL запрос [D6, Access 2000]


delta ©   (2002-11-14 14:31:00) 

Господа помогите организовать выборку параметров из разных таблиц в зависимости от содержимого ячейки. Содержимое ячейки определяет из какой таблицы необходимо проводить выборку. Вобщем на Паскале это виглядит так:

if СодержимоеЯчейки = х then вибрать из Таблица1 else
if СодержимоеЯчейки = z then вибрать из Таблица2 else
if СодержимоеЯчейки = k then вибрать из Таблица3

Как релизовать это в виде SQL запроса


sniknik   (2002-11-14 15:19:00) [1]

то что я написал в Аксесс как раз должно работать, просто в MSSQL можно проще там пройдет почти как у тебя в дельфях

if "x"=:MyParam
BEGIN
select * from Table1 where "x"=:MyParam
END
и т.д.

или даже лутше процедуру написать и в нее всего один параметр передавать.

но вот с локальными базами сложно, по моему по функционалу самая близкая Access.


delta   (2002-11-14 14:58:00) [2]

sniknik © благодарю.
В принципе разработка БД только ведется, даный вопрос можно решить внесением дополнительной информации в базу но это бы не хотелось делать. Может посоветуете локальную базу даных где даный изворот возможен. Количество записей до 10000, до 20 таблиц


sniknik   (2002-11-14 14:47:00) [3]

он же хочет запросом

но это не MSSQL в Аксесс просто не получится
(как я себе вижу, так примерно)

select * from Table1 where "x"=:MyParam
UNION
select * from Table2 where "z"=:MyParam
UNION
select * from Table3 where "k"=:MyParam

может получится.


stone   (2002-11-14 14:41:00) [4]

Объяыляешь параметр, например, :MyParam
в запросе пишешь:

if :MyParam = x
select * from Table1
if :MyParam = y
select * from Table2
if :MyParam = z
select * from Table3

ты же сам все так и написал


Наверх

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