Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.049 c
15-1159842127
Slider007
2006-10-03 06:22
2006.10.22
С днем рождения ! 3 октября


15-1159782235
kyn66
2006-10-02 13:43
2006.10.22
Demo для TMS-компонентов


15-1159643531
Ученик чародея.
2006-09-30 23:12
2006.10.22
Чем вы пользуетесь для выбора папок?


6-1148459491
Иван_новичок
2006-05-24 12:31
2006.10.22
execWB хелп новичку!


2-1160336277
vain
2006-10-08 23:37
2006.10.22
Form.Refresh





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский