Zum Inhalt springen

SQL-Probleme mit Abfrage


Bacaaardi

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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`?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...