tag:blogger.com,1999:blog-341905815790009237.post6510681833119838151..comments2024-03-21T01:46:55.974-07:00Comments on O Oracle ludzkim głosem: Kurs Oracle SQL. Struktury drzewiasteandrewhttp://www.blogger.com/profile/10069507480509251586noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-341905815790009237.post-90098587236106205912018-08-16T22:29:18.442-07:002018-08-16T22:29:18.442-07:00Dobre wprowadzenie w connect by prior, ale mam pro...Dobre wprowadzenie w connect by prior, ale mam problem, do którego nie umiem tego zastosować. Firma przyjmuje faktury z zewnątrz. Te faktury to level=1. Następnie dokumentami wewnętrznymi pozycje z faktury są rozpraszane po firmie, aż do miejsca docelowego. Każdy dokument ma wskazanie dok. nadrzędnego, a więc sytuacja identyczna jak w przykładzie z zatrudnieniem. Teraz trzeba wyświetlić element z dokumentu końcowego ze wskazaniem, z której faktury zewnętrznej pochodzą, pomijając wszystkie pośrednie. No i utknąłem. Dla każdej gałęzi interesuje mnie para: level =1 oraz max(level).<br />Możesz mi to pokazać na swoim przykładzie?<br />darjuszhttps://www.blogger.com/profile/12770248410216741459noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-7663750017321798822018-03-01T03:15:37.615-08:002018-03-01T03:15:37.615-08:00Moje rozwiązanie do zad. 9:
SELECT last_name,
hir...Moje rozwiązanie do zad. 9:<br /><br />SELECT last_name,<br />hire_date<br />FROM employees<br />WHERE LEVEL=4 AND hire_date LIKE<br />(SELECT min(hire_date)<br />FROM employees where level=4<br />START WITH manager_id IS NULL CONNECT BY<br />PRIOR employee_id=manager_id)<br />START WITH manager_id IS NULL CONNECT BY<br />PRIOR employee_id=manager_id;juyanhttps://www.blogger.com/profile/09620301691897006312noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-89468922323317572812018-03-01T03:05:15.767-08:002018-03-01T03:05:15.767-08:00Ten komentarz został usunięty przez autora.juyanhttps://www.blogger.com/profile/09620301691897006312noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-2559348942348606102017-06-04T05:31:16.176-07:002017-06-04T05:31:16.176-07:00ja zadanie 3 zrobilam tak:
select * from
(select ...ja zadanie 3 zrobilam tak:<br /><br />select * from<br />(select avg(salary), department_name,<br />dense_rank() over (order by avg(salary)) as ranking<br />from employees natural join departments<br />group by department_name<br />);<br />kasiaponyhttps://www.blogger.com/profile/04824670450476120824noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-6993971429092688402017-06-04T05:22:51.236-07:002017-06-04T05:22:51.236-07:00Ten komentarz został usunięty przez autora.kasiaponyhttps://www.blogger.com/profile/04824670450476120824noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-4052620237355644562014-12-09T06:42:00.599-08:002014-12-09T06:42:00.599-08:00zapytanie do zadania numer 3 powinno wyglądać mnie...zapytanie do zadania numer 3 powinno wyglądać mniej tak : <br />select department_name, round(średnia) średnia, dense_rank() over (order by średnia) from <br />(select department_name, avg(salary) średnia from employees join departments using (department_id)<br />group by department_name);<br /><br />Unknownhttps://www.blogger.com/profile/16679514602827781544noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-27566837764263292892014-12-08T18:33:33.348-08:002014-12-08T18:33:33.348-08:00przecież w żadnym z podanych tutaj rozwiązań zadan...przecież w żadnym z podanych tutaj rozwiązań zadania numer 3 nie ma użytej funkcji rankingu, to co ty piszesz Lustrum można uzyskać przez prostsze zapytanie <br />select department_name, round(avg(salary)) from employees join departments using (department_id) <br />group by department_name <br />order by 1;Unknownhttps://www.blogger.com/profile/16679514602827781544noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-33567782453446548412014-11-26T13:36:43.912-08:002014-11-26T13:36:43.912-08:00Korzystając z funkcji analitycznych zadanie 3 możn...Korzystając z funkcji analitycznych zadanie 3 można rozwiązać w taki sposób:<br /><br />select distinct(d.department_name), round((avg(e.salary) over (partition by e.department_id)),2) as srednia<br />from employees e join departments d on (e.DEPARTMENT_ID = d.DEPARTMENT_ID) order by d.department_name;Lustrumhttps://www.blogger.com/profile/07233493028459081545noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-68534158610445555092014-04-01T13:53:42.340-07:002014-04-01T13:53:42.340-07:00alternatywne rozwiązanie ćw 3:
select department...alternatywne rozwiązanie ćw 3:<br /><br />select department_name as "Dzial" , department_id as "Nr dzialu", round((avg(salary)), 2) as "Średnia"<br /> from employees join departments using (department_id)<br /> group by department_name, department_id<br /> order by 3 desc;Anonymoushttps://www.blogger.com/profile/04642513474624917622noreply@blogger.comtag:blogger.com,1999:blog-341905815790009237.post-31014656617938680782013-10-30T16:57:04.554-07:002013-10-30T16:57:04.554-07:00-- odpowiedzi
--zad1
select last_name, salary, d...-- odpowiedzi <br />--zad1<br /> select last_name, salary, dense_rank() over (partition by manager_id order by salary desc) as ranikng from employees order by 3;<br /> <br />--zad2<br /> select * from (select last_name, salary, <br /> dense_rank() over (partition by department_id order by salary desc) as ranking from employees )--<br /> where ranking =1;<br /> <br />--zad3<br />select d.department_name , d.department_id <br /> from employees e,departments d<br />where (e.department_id = d.department_id) ;<br /> <br /> --zad4<br />select * from (<br />select last_name, salary, <br /> cume_dist() over (order by salary desc) as anomalia from employees )--<br /> where anomalia <0.1;<br /> <br /> <br />-- zad5<br />-- select lpad(' ',4*(level-1))|| last_name , manager_id ,level, employee_id from employees start with manager_id is null<br />-- connect by prior employee_id=manager_id ; <br /><br />--zad 6<br /><br />--zad7<br />select last_name , manager_id ,level, employee_id from employees where level=4 start with manager_id is null<br />connect by prior employee_id=manager_id ;<br /><br /><br />--zad8<br />select employee_id,last_name, level from employees where level=4 start with manager_id is null<br />connect by prior employee_id=manager_id;<br /><br /><br /><br />--zad 9<br /><br /><br />select last_name from employees where hire_date=( select max(hire_date) as datunia from employees where level=4 start with manager_id is null<br />connect by prior employee_id=manager_id); Anonymoushttps://www.blogger.com/profile/04191656966383044480noreply@blogger.com