Hallo NETter, danke für Dein Hilfsangebot.
Ich habe halt die Hoffnung, dass noch jemand einen Account hat und seine Lösungen ab dem 3. Tutorial Teil kurz zusammenfassen kann.
Ich möchte auf keinen Fall so unverschämt sein und alle Aufgaben hier rein stellen, aber vielleicht kannst Du mir zu den folgenden Aufgaben helfen.
Teilweise bekomme ich die Aufgaben mit "where" Bedingungen gelöst, allerdings nicht mit der "geforderten" JOIN Bedingung.
Zum Beispiel die Nr.1:
"List the full names of employees who have been on any Accounting course."
select distinct forenames, surname
from employee, empcourse, course
where course.courseno = empcourse.courseno
and empcourse.empno = employee.empno
and cname LIKE '%Accounting%'
;
Gibt die richtige Antwort, bekomme aber keine funktionierende JOIN Bedingung hin.
select distinct forenames, surname
from employee JOIN empcourse ON (employee.empno = empcourse.empno),
course JOIN empcourse ON (course.courseno = empcourse.courseno)
where cname LIKE '%Accounting%'
order by (surname)
;
Da sind die zwei Richtigen Namen dabei, allerdings auch 7 falsche.
Verstehe diese Join Sache noch nicht (und wie ich ein smilie eingebe verstehe ich irgendwie auch nicht.. )
Aufgabe 3:
List all employees by surname and forenames who have been on a course in 1988.
select distinct surname, forenames
from employee, empcourse, course
where employee.empno = empcourse.empno
and empcourse.courseno = course.courseno
and cdate between '01.Jan.1988' and '31.Dec.1988'
;
Wie müsste da eine JOIN Bedingung aussehen?
Aufgabe 4:
List in alphabetical order of department name then surname and then forename, the current position of all employees.
select position
from jobhistory, employee, department
where employee.depno = department.depno
and employee.empno = jobhistory.empno
and enddate IS NULL
order by dname asc, surname asc ,forenames asc
;
Da stimmt selbst diese Abfrage nicht. Und wie müsste eine JOIN Abfrage aussehen?
Du siehst, Fragen über Fragen. Das Problem ist halt, dass man sich da komplett eindenken und die Tutorial Tabellen durchschauen müsste, denn ich glaube nicht, dass Du Dich nach den Jahren noch daran erinnern kannst.
Aber vielleicht erkennt der Profi den Fehler auch so...
Ich bedanke mich auf jeden Fall schon mal im Voraus!
Grüße