Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

Работа со справочниками   Найти похожие ветки 

 
Explorer   (2004-11-16 12:47) [0]

Мастера!
Как правильно организовать связь такого вида
(сейчас вот так):

Таблица1-(...,Id_table2,Id_table2_1...)- карточка сотрудника
Таблица2-(ID_table2,NameDolgnost,....) - список должностей

В Id_table2 - постоянная должность (not Null) - из таблицы2
в Id_table2_1 - замещаемая должность (может NULL) - из таблицы1

Правильно ли организована связь?
И как при этом сформировать запрос, чтобы отображались замещаемые должности (если они есть)?


 
Соловьев ©   (2004-11-16 12:50) [1]


> Правильно ли организована связь?

Это может только сказать разработчик: наверное да, если она удовлетваряет требованиям ПО.

> И как при этом сформировать запрос, чтобы отображались замещаемые
> должности (если они есть)?

left join


 
Explorer   (2004-11-16 13:32) [2]

а можно пример?


 
Соловьев ©   (2004-11-16 13:35) [3]

QueryAnalizer+F1 Смотрим left join.


 
Explorer   (2004-11-16 14:24) [4]

Вывести получилось только (Id_table2_1 + Id_table2 - одной колонкой),т.е.

Иванов | инженер
Сидоров|начальник
Иванов |зам. начальника

select t.TabNum,
      t3.NameProfession
from   Staff as t left join  SprProfession as t3
on t.id_profession2=t3.id_profession
or t.id_profession=t3.id_profession
ORDER BY t.TabNum ASC

а вот как вывести вот так:

Иванов  | инженер  |зам. начальника
Сидоров |начальник |


 
Наталия ©   (2004-11-16 14:27) [5]

Так ты не со справочником профессий left join делай, а таблицу staff с ней же.


 
vuk ©   (2004-11-16 14:59) [6]

join со справочником нужно делать два раза. Один раз inner для постоянной должности, а второй раз - left, для замещаемой. Что касается организаци данных, то тут, действительно, все зависит от исходной задачи. Например, если замещаемых должностей может быть не одна, то схема будет другой.



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

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
1-1101245708
CepJaNT
2004-11-24 00:35
2004.12.12
TreeView


3-1100156376
Брат
2004-11-11 09:59
2004.12.12
Проверка существования таблицы


14-1101227554
Anatoly Podgoretsky
2004-11-23 19:32
2004.12.12
Космический военный лазер


3-1100507408
Term
2004-11-15 11:30
2004.12.12
Вопрос относительно использования хранимых процедур


1-1101899571
Артем К.
2004-12-01 14:12
2004.12.12
Как задать цвета линий для Charta рандомом, чтобы не повторялись?