URL: https://www.overclockers.at/coding-stuff/solved_need_sql_select_203498/page_1 - zur Vollversion wechseln!
Hello!
So nach einigen Stunde voller Ärger, will ich euch nun um eure Hilfe bitten:
Hier ein Teil der Tables sollte aber für die Aufgabe reichen:
table project (
project_id int,
name varchar(32)
)
table operation (
project_id int,
operatoin_id int,
startDate char(10),
endDate char(10)
)
So ein Projekt kann 1 oder mehrere Operations haben muss aber keine haben. Das Select soll project_name liefern und startDate sowie endDate.
(also pro Projekt eine Zeile)
Beispiel1:
Projekt (1,"test")
Operation (1,1,"01.01.2001","02.02.2002")
Dann wäre das Ergebnis: "test","01.01.2001","02.02.2002"
Beispiel2:
Hier gibt es eine Operation die noch kein endDate hat und somit nicht abgeschlossen ist. Somit soll das Select auch null bei endDate liefern
Projekt (1,"test")
Operation (1,1,"01.01.2001","02.02.2002")
Operation (1,2,"03.03.2001",null)
Beispiel3:
Hier gibt es keine Operation zu einem Projekt
Projekt (1,"test")
Dann wäre das Ergebnis: "test",null,null
PS: um das varchar date mit min und max funktionen zu verwenden muss es erst umgewandelt werden=>str_to_date(startDate,'%d.%m.%Y')
Hoffe es ist soweit klar.
Danke schon mal für eure Hilfe
Und was hast du schon versucht?
Hint: "Outer Join" könnte helfen
so endlich gschafft kann geclosed werden:
SELECT P.Name, MIN(str_to_date(o.startDate,'%d.%m.%Y')),
(SELECT MAX(str_to_date(ox.endDate,'%d.%m.%Y')) FROM Operation ox
WHERE p.project_id NOT IN (SELECT project_id FROM Operation WHERE endDate IS NULL) AND
ox.project_id=p.project_id )
FROM Project P
LEFT JOIN Operation O
ON O.project_id = P.project_id
GROUP BY P.project_id
^^
wtf... auf das wär ich mit deiner beschreibung NIE gekommen. hätte grad was ganz anderes posten wollen.
hmm.... sry falls ichs schlecht beschrieben hab, aber ich war mir doch sicher das es so sehr verständlich ist 
naja hat sich ja jetzt erledigt
Zitat von Neo1010so endlich gschafft kann geclosed werden:
). Threads mit Lösung werden aber normalerweise nicht geschlossen, sondern der Threadstarter wird ersucht, die Class im ersten Posting auf "Solved" zu setzen.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026