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

Вниз

Вопрос с запросом   Найти похожие ветки 

 
ice321i   (2007-11-13 09:55) [0]

Здравствуйте уважаемые мастера.

У меня проблемма с запросом. Ни как не могу додуматься как сделать.
Есть таблица salestable в ней присутвуют шесть ключей(nameid,famid,sfamid,o_nameid,o_famid,o_sfamid) 3 внешние таблицы (tname, tfam, tsfam). Смысл в чем, в таблицу salestable должны попадать имена, фамилии и отчество из этих таблиц, причем их получается 6 полей.
Пример:
фамилия|имя|отчество|фамилия1|имя1|отчество1

Соответсвенно формирую запрос:
select name,fam,sfam,name,fam,sfam from salestable,tname,tfam,tsfam where ((salestable.nameid=tname.id) and (salestable.famid=tfam.id) and
(salestable.sfamid=tsfam.id) and (salestable.o_nameid=tname.id) and (salestable.o_famid=tfam.id) and (salestable.o_sfamid=tsfam.id))

Не работает :(
Подскажите пожалуйста как написать правильный запрос ?


 
Sergey13 ©   (2007-11-13 10:03) [1]

> [0] ice321i   (13.11.07 09:55)
> Не работает :(

Может выходной? Или отпуск? Что пишет то? И кто пишет (в смысле СУБД какая)?

ЗЫ: И нафига вообще это надо - ФИО в справочнике? Сплошные Сидоровы-Ивановы?


 
Anatoly Podgoretsky ©   (2007-11-13 10:06) [2]

> ice321i  (13.11.2007 09:55:00)  [0]

Перейди на явные соединения, но что то с постановкой не так.


 
ice321i   (2007-11-13 10:10) [3]

СУБД interbase 6
А в таблице должны храниться ФИО заказчика и ФИО ответственного лица за заказ.
Такую связь придумал не я, а препод, он хочет что бы из этих трех таблиц (фамилия, имя, отчество) подтягивались ФИО в главную таблицу (salestable), вот как сделать запрос, что бы он выводил правильно ФИО  заказчика и ФИО ответственного лица ????


 
ЮЮ ©   (2007-11-13 10:12) [4]

> select name,fam,sfam,name,fam


> Не работает :(

Разве? А должен говорить, что "Ambigous ...", т.е. "Не могу сообразить какое "name" тебе показать, если оно есть в двух таблицах.

Используй алиасы:
 select
   n1.name,f1.fam, sf1.asfam,
   n2.name,f2.fam, sf2.asfam
 FROM
   salestable s
   JOIN tname n1 ON s.nameid = n1.id
   ...
   JOIN tname n2 ON s.o_nameid = n2.id
   ...

Таблицы tname, tfam, tsfam пополняещь на основании решений Пленумов ВЦСПС? На кой вообще порождать сущности, не присутстствующие в предметной области? Или у тебя есть толования имен и фамилий в этих таблицах?


 
Sergey13 ©   (2007-11-13 10:13) [5]

> [3] ice321i   (13.11.07 10:10)

Все поля в salestable заполнены?

> Такую связь придумал не я, а препод
ИМХО он дурак.


 
Рамиль ©   (2007-11-13 10:15) [6]

Что значит подтягивались? У вас ФИО примари ключ? Так делать нельзя, ФИО могут совпадать.


 
ice321i   (2007-11-13 10:44) [7]


> Рамиль ©  



> Что значит подтягивались? У вас ФИО примари ключ? Так делать
> нельзя, ФИО могут совпадать.

При вводе в таблицы
идет проверка на ввод повторных ФИО.


> ЮЮ ©


С алиасами сейчас попробую.


 
ice321i   (2007-11-13 10:47) [8]


> Sergey13 ©   (13.11.07 10:13) [5]
> > [3] ice321i   (13.11.07 10:10)
>
> Все поля в salestable заполнены?
>
> > Такую связь придумал не я, а препод
> ИМХО он дурак.
> <Цитата>


Полностью с тобой согласен! ;)


 
ЮЮ ©   (2007-11-13 10:49) [9]

> При вводе в таблицы
> идет проверка на ввод повторных ФИО.

А при корректировке? Описки и очепятки так и будут жить вместе с правильными именами?


 
Anatoly Podgoretsky ©   (2007-11-13 10:59) [10]


> > Что значит подтягивались? У вас ФИО примари ключ? Так
> делать
> > нельзя, ФИО могут совпадать.
>
> При вводе в таблицы
> идет проверка на ввод повторных ФИО.

И что, убиваешь одного из двух, а кого из двух, если это разные люди?


 
ice321i   (2007-11-13 11:05) [11]


> ЮЮ ©


Спасибо большое!!!
С алиасами все получилось :))))))))))



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
1-1190366442
nali
2007-09-21 13:20
2007.12.09
Ошибка при динамическом создании компонента.


2-1195117909
Новичек
2007-11-15 12:11
2007.12.09
Обработка событий от нескольких сокетов.


1-1190020523
Алик
2007-09-17 13:15
2007.12.09
Хэш-коды и с чем их едят?


8-1170612314
Master_
2007-02-04 21:05
2007.12.09
Как узнать имя кодека, которым сжат видеофайл


2-1194849387
webpauk
2007-11-12 09:36
2007.12.09
Запись дерева в таблицу