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