Bacaaardi Geschrieben 29. Januar 2009 Teilen Geschrieben 29. Januar 2009 Hallo folgendes SQL-Statment SELECT project.pname AS Projekt, jiraissue.pkey AS Schlüssel, priority.pname AS Prio, issuetype.pname AS Vorgangstyp, issuestatus.pname AS Status, resolution.pname AS Lösung, jiraissue.reporter AS Autor, jiraissue.assignee AS Bearbeiter FROM priority, jiraissue, project, issuestatus, issuetype, resolution WHERE priority.id = jiraissue.priority AND issuetype.id=jiraissue.issuetype AND project.id=jiraissue.project AND issuestatus.id=jiraissue.issuestatus AND resolution.id=jiraissue.resolution; Ich habe Problemem mit dem resolution (Lösung) - Letzte Zeile Die anderen Felder waren alles Pflichtfelder die gefüllt sein müssen Mach ich die Abfrage ohne LÖSUNG dann hab ich 4300 Zeilen Das Feld Resolution (LÖSUNG) ist optional. Entweder man trägt was ein, wenn nicht steht NULL drin. Führe ich das gepostete SQL-Statment aus werden nur noch 2300 Zeilen ausgegeben. Ich möchte aber alle. In denen wo keine Lösung steht soll halt NULL ausgegeben werden. (in der DB steht bei nicht ausgewählter Lösung: NULL) Was muss ich ändern Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 29. Januar 2009 Teilen Geschrieben 29. Januar 2009 Hallo folgendes SQL-Statment SELECT project.pname AS Projekt, jiraissue.pkey AS Schlüssel, priority.pname AS Prio, issuetype.pname AS Vorgangstyp, issuestatus.pname AS Status, resolution.pname AS Lösung, jiraissue.reporter AS Autor, jiraissue.assignee AS Bearbeiter FROM priority, jiraissue, project, issuestatus, issuetype, resolution WHERE priority.id = jiraissue.priority AND issuetype.id=jiraissue.issuetype AND project.id=jiraissue.project AND issuestatus.id=jiraissue.issuestatus AND resolution.id=jiraissue.resolution; Ich habe Problemem mit dem resolution (Lösung) - Letzte Zeile Die anderen Felder waren alles Pflichtfelder die gefüllt sein müssen Mach ich die Abfrage ohne LÖSUNG dann hab ich 4300 Zeilen Das Feld Resolution (LÖSUNG) ist optional. Entweder man trägt was ein, wenn nicht steht NULL drin. Führe ich das gepostete SQL-Statment aus werden nur noch 2300 Zeilen ausgegeben. Ich möchte aber alle. In denen wo keine Lösung steht soll halt NULL ausgegeben werden. (in der DB steht bei nicht ausgewählter Lösung: NULL) Was muss ich ändern - Hallo, Du benötigst einen LEFT OUTER Join für diese Beziehung. Bei Oracle würdest du resolution.id=jiraissue.resolution(+); verwendet. Leider hast du dein DBMS nicht angegeben.... Allgemein würde es so aussehen : select spalte_1, spalte_2, spalte_3 from tabellen_name_1 left [outer] join tabellen_name_2 on tabellen_name_1.spalte_1 = tabellenname_2.spalte_1 Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bacaaardi Geschrieben 29. Januar 2009 Autor Teilen Geschrieben 29. Januar 2009 MySQL Wie würde dann der Code aussehen ich habe es so hinbekommen: SELECT jiraissue.pkey AS Schlüssel, resolution.pname AS Lösung FROM jiraissue LEFT OUTER JOIN resolution ON jiraissue.resolution = resolution.id; Will ich das aber mit meiner restlichen Abfrage kombinieren ensteht nur Chaos Über 100 000 Zeilen Was muss ich abändern`? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 29. Januar 2009 Teilen Geschrieben 29. Januar 2009 MySQL Wie würde dann der Code aussehen ich habe es so hinbekommen: SELECT jiraissue.pkey AS Schlüssel, resolution.pname AS Lösung FROM jiraissue LEFT OUTER JOIN resolution ON jiraissue.resolution = resolution.id; Will ich das aber mit meiner restlichen Abfrage kombinieren ensteht nur Chaos Über 100 000 Zeilen Was muss ich abändern`? MYSQL ? Kein Ahnung. Da würde ein Blick in die Doku helfen. Vorausgesetzt, es sind nicht wirklich 100'000 Rows, auf welche diese Bedinung zutrifft, sieht es nach einem kartesischem Produkt aus, d.h. du hast in der FROM Clause Tabelllen, welche keinen Join haben...Post doch mal auch "den Rest" des Statements Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bacaaardi Geschrieben 29. Januar 2009 Autor Teilen Geschrieben 29. Januar 2009 Hier mein Statment: SELECT project.pname AS Projekt, jiraissue.pkey AS Schlüssel, priority.pname AS Prio, issuetype.pname AS Vorgangstyp, issuestatus.pname AS Status, resolution.pname AS Lösung, jiraissue.reporter AS Autor, jiraissue.assignee AS Bearbeiter FROM priority, jiraissue, project, issuestatus, issuetype, resolution WHERE priority.id = jiraissue.priority AND issuetype.id=jiraissue.issuetype AND project.id=jiraissue.project AND issuestatus.id=jiraissue.issuestatus AND resolution.id=jiraissue.resolution; Blos sollen auch die Zeilen angeziegt werden bei denen die Resolution NULL ist Alle anderen Bedingungen müssen erfüllt sein. Plus die Vorgänge welche keine LÖSUNG haben Keine Ahnung wie ich das anders ausdrücken soll Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.