Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизРабота со справочниками Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c