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

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

запрос [D6, IB6.x]


GIL ©   (2003-12-24 12:13:00) 

как составить запрос select, по приблизительно такой структуре: есть главная таблица, в ней пара полей для связи, и несколько из них ссылаются на одну справочную таблицу


GIL   (2003-12-24 12:42:00) [1]

наверное, я в джоинах плохо шарю


Vlad   (2003-12-24 12:40:00) [2]

Типа того ?

select * from main a
left join manager b on a.id_manager=b.id
left join contacts c on a.id_director=c.id
left join family e on (b.id_family=e.id)
left join family e1 on (c.id_family=e.id)
left join name f on (b.id_name=f.id)
left join name f1 on (c.id_name=f.Id)


GIL   (2003-12-24 12:39:00) [3]

кажется это выход!!
а где найти компоненты для 7-го интербэйза?


Sandman25   (2003-12-24 12:37:00) [4]

[9] GIL © (24.12.03 12:33)

Использовать 2 таблицы с тем же именем.
select A.*, B.name, C.name
from table A,
spr B,
spr C
where A.spr1_id = B.id
and A.spr2_id = C.id


GIL   (2003-12-24 12:33:00) [5]

короче одна таблица в нескольких местах использует один справочник, как не вызвать повторения имен и вообще составить запрос корректно?


GIL   (2003-12-24 12:31:00) [6]

а как с фамилией у директора и именем у менеджера?


JibSkeart   (2003-12-24 12:31:00) [7]

да и еще,
честно говоря не понятно что вы хотите


Vlad   (2003-12-24 12:28:00) [8]


select * from main a, manager b, contacts c, family e, name f
where
a.id_manager=b.id
and a.id_director=c.id
and b.id_family=e.id
and c.id_name=f.id


GIL   (2003-12-24 12:27:00) [9]

а заодно не подскажете где достать компоненты ib для работы с седьмой версией, а то в таблицах есть тип boolean, а компоненты ругаются: Unknow SQL Data type (590)


GIL   (2003-12-24 12:22:00) [10]

main - id, id_manager,id_director ...
manager - id,id_family,id_name,id_otch
contacts(director) - id, id_name, id_family,...
family - id,family(varchar(x))
name - id, name(varchar(x))


Vlad   (2003-12-24 12:21:00) [11]


> в ней пара полей для связи, и несколько из них ссылаются
> на одну справочную таблицу

Несколько полей из пары полей это как ?

select * from Table1 a, Spravochnik b where a.field1=b.field1 and a.field2=b.field2
Не это часом интересует ?


Anatoly Podgoretsky   (2003-12-24 12:19:00) [12]

Не приучен


JibSkeart   (2003-12-24 12:14:00) [13]

а поконкретней

а то могу только приьлезително сказать

select * from mainttable where ... :)

хотябы привел вид табличек :)


Наверх

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