Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / вспомогательный View для Select-а / 2 сообщений из 2, страница 1 из 1
31.03.2004, 19:43
    #32464714
konstsch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вспомогательный View для Select-а
Есть таблицы

MAN
num
fam
ima
....

REGISTRATION
num
street
house
kv
reg_flag - флаг действительной прописки.

Нужно сделать просмотр вида

Иванов | Иван | Иванович | Мира | 10 | 10
Прописка только действительная, и человек не должен дублироваться(сколько прописок столько раз человек и повторяется)

У человека может быть несколько прописок, но только одна действительная, а может и не быть действительных прописок вообще.
Если сразу сделать join между таблицами, то будут дублироваться люди.
Если сделать в предикате man.num=registration.num то не будет людей у которых вообще небыло прописок.

Дак вот я сделал View где только действительные прописки:

create view tmp_reg ( num, street, house, build, kv, reg_flag )
as
select num, street, house, build, kv, reg_flag from registation
where reg_flag='T'

а потом соединил таблицу Man и просмотр tmp_reg:

create view View_Man ( num, fam, ima, otch, street, house, build, kv )
as
select man.num, fam, ima, otch, street, house, build, kv
from man left join tmp_reg on man.num = tmp_reg.num


А вопрос вот в чем, такое вообще нормально, т.е. так можно делать или всё таки я туплю.
...
Рейтинг: 0 / 0
11.04.2004, 18:40
    #32476831
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вспомогательный View для Select-а
А че сразу LEFT OUTER JOIN к самим таблицам не применил???? 8-/
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / вспомогательный View для Select-а / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]