Форум: "Прочее";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
ВнизА как упростить запрос Найти похожие ветки
← →
AntiUser © (2006-09-28 21:25) [0]незнаю, например через LEFT JOIN или еще как, но через LEFT JOIN у меня постоянно выскакивыет ошибка: "ORA-00904: "O"."ID": нeдoпycтимый идeнтификaтop" и всегда в разных местах, всмысле не всегда O.ID. А запрос такой (в таком виде он работает):
SELECT e.surname,
e.name,
e.patronymic,
j.smallname,
j.salary,
o.fullname,
f.formation,
Dw.Name,
Ord.Onumber,
Ord.Odate
FROM employee e,
otdel_job oj,
otdel o,
job j,
formation f,
formation_employee fe,
Orders_dw od,
Orders ord,
Date_work dw
WHERE e.id = oj.emp_id
and o.id = oj.otdel_id
and j.id = oj.job_id
and e.id = fe.emp_id
and f.id = fe.form_id
AND Ord.Id = Od.Orders_id
AND e.Id = Od.Emp_id
AND Dw.Id = Od.Dw_id
AND e.id = 1
Всё сводится к тому, что бы получить данные по e.id = 1
← →
vidiv © (2006-09-28 21:34) [1]имхо разницы не будет, ибо оптимизатор всеравно должен привести запрос к такому виду :)
← →
Johnmen © (2006-09-28 22:05) [2]
> AntiUser © (28.09.06 21:25)
Здесь у тебя обычный неявный JOIN.
Так зачем же тебе LEFT JOIN? И где собственно текст неработающего запроса? И как упрощение запроса связано со словом JOIN?
← →
Petr V. Abramov © (2006-09-28 22:58) [3]> Всё сводится к тому, что бы получить данные по e.id = 1
а Вы получаете данные по e.id = 2 или результат запроса Вас по каким-то другим причинам не устраивает? "Что хотим в результате" и "что нам не нравится"? Тем более, что с
otdel_job oj,
otdel o,
job j,
formation f,
formation_employee fe,
Orders_dw od,
Orders ord,
Date_work dw
знакомы не все :)
← →
AntiUser © (2006-09-29 05:14) [4]Да нет, ребята, все нормально. Все работает. Просто думал, что можно упростить читаемость и/или уменьшить громоздскость, ну вместо 30 строк 10-15 не в ущерб читаемости.
Если нет, так нет. Вы уж извиняйте, если чего не так, не храмотные мы (еще) в этом вопросе, вот и вопрошаем дабы получить ответ вразумительный, кой и получен был в посте первом и осознан мной до конца был, ибо сказано было; "да не будет, тебе, разницы"...
← →
evvcom © (2006-09-29 08:41) [5]> или уменьшить громоздскость, ну вместо 30 строк 10-15
Угу. Можно.select * ...
:-)
← →
Sergey13 © (2006-09-29 08:44) [6]> [4] AntiUser © (29.09.06 05:14)
> Просто думал,
> что можно упростить читаемость и/или уменьшить громоздскость,
> ну вместо 30 строк 10-15 не в ущерб читаемости.
Легко.SELECT e.surname, e.name,e.patronymic,j.smallname,j.salary,
o.fullname,f.formation,Dw.Name,Ord.Onumber,Ord.Odate
FROM employee e,otdel_job oj,otdel o,job j,formation f,
formation_employee fe,Orders_dw od,Orders ord,Date_work dw
WHERE e.id = oj.emp_id and o.id = oj.otdel_id and j.id = oj.job_id
and e.id = fe.emp_id and f.id = fe.form_id AND Ord.Id = Od.Orders_id
AND e.Id = Od.Emp_id AND Dw.Id = Od.Dw_id AND e.id = 1
8-)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c