ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
346
346
EMPFEHLEN
-
Hallo folgende Abfrage hat seit Monaten problemlos funktioniert:
SELECT Projekt,pkey AS Schlüssel,reporter AS Autor,assignee AS Bearbeiter,
created AS Erstellt,updated AS Aktualisiert,Vorgangstyp,Lösung,Status,
Priorität,Komponente,betrifft_Version, Lösungsversion FROM
(SELECT *
FROM jiraissue k
LEFT OUTER JOIN (SELECT id, pname AS Projekt FROM project) l on (k.project= l.id)
LEFT OUTER JOIN (SELECT id, pname AS Vorgangstyp FROM issuetype) m on (k.issuetype= m.id)
LEFT OUTER JOIN (SELECT id, pname AS Lösung FROM resolution) o on (k.resolution= o.id)
LEFT OUTER JOIN (SELECT id, pname AS Status FROM issuestatus) u on (k.issuestatus= u.id)
LEFT OUTER JOIN (SELECT id, pname AS Priorität FROM priority) n on (k.priority= n.id)) yy
LEFT OUTER JOIN
(SELECT * FROM
(SELECT a.source_node_id, MAX(b.cname) AS Komponente
FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id)
WHERE association_type = 'IssueComponent'
GROUP BY a.source_node_id) x
LEFT OUTER JOIN
(SELECT a.source_node_id, MAX( c.vname) AS Lösungsversion
FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id)
WHERE association_type = 'IssueFixversion'
GROUP BY a.source_node_id) y
ON (x.source_node_id=y.source_node_id)
LEFT OUTER JOIN
(SELECT a.source_node_id, MAX(c.vname) AS betrifft_Version
FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id)
WHERE association_type = 'Issueversion'
GROUP BY a.source_node_id) z
ON (x.source_node_id=z.source_node_id)) xx
ON (xx.source_node_id = yy.id)
WHERE Projekt ='Testprojekt'
ORDER BY pkey DESC
Wir haben ein Update unsere Datenbank gemacht. Seitdem kommt immer die Fehlermeldung:
Duplicate colum name 'id'
Hat jemand eine Idee?
-
Hallo Bacaaardi,
von bzw. auf welche MySql-Version bist du gewechselt?
Dein Problem habe ich mal rot markiert.
Die yy.id aus dem SubSelect ist nicht eindeutig (5x). Die alte MySql-Version hat das ignoriert, aber die jetztige nimmt das etwas genauer.SELECT Projekt,pkey AS Schlüssel,reporter AS Autor,assignee AS Bearbeiter,
created AS Erstellt,updated AS Aktualisiert,Vorgangstyp,Lösung,Status,
Priorität,Komponente,betrifft_Version, Lösungsversion FROM
(SELECT *
FROM jiraissue k
LEFT OUTER JOIN (SELECT id, pname AS Projekt FROM project) l on (k.project= l.id)
LEFT OUTER JOIN (SELECT id, pname AS Vorgangstyp FROM issuetype) m on (k.issuetype= m.id)
LEFT OUTER JOIN (SELECT id, pname AS Lösung FROM resolution) o on (k.resolution= o.id)
LEFT OUTER JOIN (SELECT id, pname AS Status FROM issuestatus) u on (k.issuestatus= u.id)
LEFT OUTER JOIN (SELECT id, pname AS Priorität FROM priority) n on (k.priority= n.id)) yy
LEFT OUTER JOIN
(SELECT * FROM
(SELECT a.source_node_id, MAX(b.cname) AS Komponente
FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id)
WHERE association_type = 'IssueComponent'
GROUP BY a.source_node_id) x
LEFT OUTER JOIN
(SELECT a.source_node_id, MAX( c.vname) AS Lösungsversion
FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id)
WHERE association_type = 'IssueFixversion'
GROUP BY a.source_node_id) y
ON (x.source_node_id=y.source_node_id)
LEFT OUTER JOIN
(SELECT a.source_node_id, MAX(c.vname) AS betrifft_Version
FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id)
WHERE association_type = 'Issueversion'
GROUP BY a.source_node_id) z
ON (x.source_node_id=z.source_node_id)) xx
ON (xx.source_node_id = yy.id)
WHERE Projekt ='Testprojekt'
ORDER BY pkey DESCGruss Bernd
Zitat von mAu
-
Hi Bernd1984
und wie kann ich das umgehen?
Eine Idee?
neue DB: Datenbankversion 5.0.77-log
alte DB: Database version 4.1.22-standard-logGeändert von Bacaaardi (08.09.09 um 09:54 Uhr)
-
Hallo Bacaaardi,
machs doch genau so wie bei pname, die hast du ja auch benannt.
usw.Code :1
(SELECT [COLOR=Red]id as ProID[/COLOR], pname AS Projekt FROM project) l on (k.project= l.[COLOR=Red]ProID[/COLOR])
und hier nimmst du dann eine von den 5Code :1
ON (xx.source_node_id = [COLOR=Red]yy.ProID[/COLOR])
Gruss Bernd
Zitat von mAu
-
Hi Bernd 1984
habe es so geändert:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
SELECT Projekt,pkey AS Schlüssel,reporter AS Autor,assignee AS Bearbeiter, created AS Erstellt,updated AS Aktualisiert,Vorgangstyp,Lösung,Status, Priorität,Komponente,betrifft_Version, Lösungsversion FROM (SELECT * FROM jiraissue k LEFT OUTER JOIN (SELECT id as ProID,pname AS Projekt FROM project) l on (k.project= l.ProID) LEFT OUTER JOIN (SELECT id as IssID, pname AS Vorgangstyp FROM issuetype) m on (k.issuetype= m.IssID) LEFT OUTER JOIN (SELECT id as ResID, pname AS Lösung FROM resolution) o on (k.resolution= o.ResID) LEFT OUTER JOIN (SELECT id as StaID, pname AS Status FROM issuestatus) u on (k.issuestatus= u.StaID) LEFT OUTER JOIN (SELECT id as PriID, pname AS Priorität FROM priority) n on (k.priority= n.PriID)) yy LEFT OUTER JOIN (SELECT * FROM (SELECT a.source_node_id AS Komponente, MAX(b.cname) FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id) WHERE association_type = 'IssueComponent' GROUP BY a.source_node_id) x LEFT OUTER JOIN (SELECT a.source_node_id AS Lösungsversion, MAX( c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'IssueFixversion' GROUP BY a.source_node_id) y ON (x.source_node_id=y.source_node_id) LEFT OUTER JOIN (SELECT a.source_node_id AS betrifft_Version, MAX(c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'Issueversion' GROUP BY a.source_node_id) z ON (x.source_node_id=z.source_node_id)) xx ON (xx.source_node_id = yy.ProID) WHERE Projekt ='Test ' ORDER BY pkey DESC
Jetzt kommt die meldung:
Unknown column 'x.source_node_id' in 'on clause'
Hast da einen Tippp. Sorry wenn ich nerve
-
Hallo Bacaaardi,
auch dieser Fehler hat mit der geringeren Fehlertoleranz der neuen MySql-Version zu tun.
Die "source_node_id" aus diesem Subselect
verknüpft du mitCode :1 2 3 4 5 6
(SELECT [COLOR=Red]a.source_node_id AS Komponente[/COLOR], MAX(b.cname) FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id) WHERE association_type = 'IssueComponent' GROUP BY a.source_node_id ) x
aber korrekt muss esCode :1
) z ON ([COLOR=Red]x.source_node_id[/COLOR]=z.source_node_id)
lauten.Code :1
) z ON ([COLOR=Red]x.[/COLOR][COLOR=Red]Komponente[/COLOR]=z.source_node_id)
[edit]
und auch[/edit]Code :1
) xx ON ([COLOR=Red]xx.[/COLOR][COLOR=Red]Komponente[/COLOR]=yy.ProID)
Geändert von Bernd1984 (08.09.09 um 13:33 Uhr) Grund: Schon den nächsten Fehler korrigiert!
Gruss Bernd
Zitat von mAu
-
Hi Bernd 1984,
erstmal vielen Dank für deine Tipps ich komme immer einen Schritt weiter. Du bist der erste der mir richtig helfen kann...
Ich bin ein wahrer SQL-Newbie. Ich habe deine Änderung angepasst doch dann taucht an anderer Stelle wieder ein Fehler auf...
Könntest du die Änderungen komplett posten. Also alle meine Denkfehler beseitigen. Ich hoffe das ist nicht zu viel verlangt. Jedes mal wenn ich eine Stelle löse, hänge ich bereits an der nächsten
Könntest du meine komplette Abfrage mal korrekt posten? Wäre dir sehr dankbar, weil wir auf diesem SQL unsere Auswertungen fahren...
Gruß
-
Hallo Bacaaardi,
hier die Version, die die bekannten Fehler wegen der neuen MySql-Version nicht mehr enthält:
D.h. aber nicht, das da noch nicht noch mehr Versionsabhängige Fehler sind.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
SELECT Projekt,pkey AS Schlüssel,reporter AS Autor,assignee AS Bearbeiter, created AS Erstellt,updated AS Aktualisiert,Vorgangstyp,Lösung,Status, Priorität,Komponente,betrifft_Version, Lösungsversion FROM (SELECT * FROM jiraissue k LEFT OUTER JOIN (SELECT id as ProID,pname AS Projekt FROM project) l on (k.project= l.ProID) LEFT OUTER JOIN (SELECT id as IssID, pname AS Vorgangstyp FROM issuetype) m on (k.issuetype= m.IssID) LEFT OUTER JOIN (SELECT id as ResID, pname AS Lösung FROM resolution) o on (k.resolution= o.ResID) LEFT OUTER JOIN (SELECT id as StaID, pname AS Status FROM issuestatus) u on (k.issuestatus= u.StaID) LEFT OUTER JOIN (SELECT id as PriID, pname AS Priorität FROM priority) n on (k.priority= n.PriID) ) yy LEFT OUTER JOIN (SELECT * FROM (SELECT a.source_node_id AS Komponente, MAX(b.cname) FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id) WHERE association_type = 'IssueComponent' GROUP BY a.source_node_id ) x LEFT OUTER JOIN (SELECT a.source_node_id AS Lösungsversion, MAX( c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'IssueFixversion' GROUP BY a.source_node_id ) y ON (x.source_node_id=y.source_node_id) LEFT OUTER JOIN (SELECT a.source_node_id AS betrifft_Version, MAX(c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'Issueversion' GROUP BY a.source_node_id ) z ON (x.source_node_id=z.source_node_id) ) z ON (x.Komponente=z.source_node_id) ) xx ON (xx.Komponente=yy.ProID) WHERE Projekt ='Test ' ORDER BY pkey DESC
Gruss Bernd
Zitat von mAu
-
Hi Bernd,
mehr als Danke kann ich wohl nicht sage. Hut ab für deine Mühe
Habe deinen geposteten Code eingefügt.
Hier die Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') xx ON (xx.Komponente=yy.ProID)
WHERE Projekt ='Test'
ORDER BY pkey DESC' at line 33
Nachtrag: der von dir gepostet Code läuft auch auf der "alten" DB nicht --> gleiche FehlermeldungGeändert von Bacaaardi (08.09.09 um 15:12 Uhr)
-
Hallo Bacaaardi,
diese Zeile
sollte dieseCode :1
) z ON (x.Komponente=z.source_node_id)
ersetzen.Code :1
) z ON (x.source_node_id=z.source_node_id)
Hab nach der Kontrolle leider beide drin gelassen.
Hier jetzt der korrekte SQL:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
SELECT Projekt,pkey AS Schlüssel,reporter AS Autor,assignee AS Bearbeiter, created AS Erstellt,updated AS Aktualisiert,Vorgangstyp,Lösung,Status, Priorität,Komponente,betrifft_Version, Lösungsversion FROM (SELECT * FROM jiraissue k LEFT OUTER JOIN (SELECT id as ProID,pname AS Projekt FROM project) l on (k.project= l.ProID) LEFT OUTER JOIN (SELECT id as IssID, pname AS Vorgangstyp FROM issuetype) m on (k.issuetype= m.IssID) LEFT OUTER JOIN (SELECT id as ResID, pname AS Lösung FROM resolution) o on (k.resolution= o.ResID) LEFT OUTER JOIN (SELECT id as StaID, pname AS Status FROM issuestatus) u on (k.issuestatus= u.StaID) LEFT OUTER JOIN (SELECT id as PriID, pname AS Priorität FROM priority) n on (k.priority= n.PriID) ) yy LEFT OUTER JOIN (SELECT * FROM (SELECT a.source_node_id AS Komponente, MAX(b.cname) FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id) WHERE association_type = 'IssueComponent' GROUP BY a.source_node_id ) x LEFT OUTER JOIN (SELECT a.source_node_id AS Lösungsversion, MAX( c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'IssueFixversion' GROUP BY a.source_node_id ) y ON (x.source_node_id=y.source_node_id) LEFT OUTER JOIN (SELECT a.source_node_id AS betrifft_Version, MAX(c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'Issueversion' GROUP BY a.source_node_id ) z ON (x.Komponente=z.source_node_id) ) xx ON (xx.Komponente=yy.ProID) WHERE Projekt ='Test ' ORDER BY pkey DESC
Gruss Bernd
Zitat von mAu
-
Hi Bernd,
ich habe deinen letzten Code eingefügt.
Eine neue Fehlermeldung
Ich hoffe wir nähern uns langsam und ich muss dich nicht weiter nerven 
Hier die Meldung:
Unknown column 'x.source_node_id' in 'on clause'
-
Hallo Bacaaardi,
kommt im Quellcode nur einmal vor.) y ON (x.source_node_id=y.source_node_id)
Ersetzte es bitte durch x.Komponente
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
SELECT Projekt,pkey AS Schlüssel,reporter AS Autor,assignee AS Bearbeiter, created AS Erstellt,updated AS Aktualisiert,Vorgangstyp,Lösung,Status, Priorität,Komponente,betrifft_Version, Lösungsversion FROM (SELECT * FROM jiraissue k LEFT OUTER JOIN (SELECT id as ProID,pname AS Projekt FROM project) l on (k.project= l.ProID) LEFT OUTER JOIN (SELECT id as IssID, pname AS Vorgangstyp FROM issuetype) m on (k.issuetype= m.IssID) LEFT OUTER JOIN (SELECT id as ResID, pname AS Lösung FROM resolution) o on (k.resolution= o.ResID) LEFT OUTER JOIN (SELECT id as StaID, pname AS Status FROM issuestatus) u on (k.issuestatus= u.StaID) LEFT OUTER JOIN (SELECT id as PriID, pname AS Priorität FROM priority) n on (k.priority= n.PriID) ) yy LEFT OUTER JOIN (SELECT * FROM (SELECT a.source_node_id AS Komponente, MAX(b.cname) FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id) WHERE association_type = 'IssueComponent' GROUP BY a.source_node_id ) x LEFT OUTER JOIN (SELECT a.source_node_id AS Lösungsversion, MAX( c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'IssueFixversion' GROUP BY a.source_node_id ) y ON (x.Komponente=y.source_node_id) LEFT OUTER JOIN (SELECT a.source_node_id AS betrifft_Version, MAX(c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'Issueversion' GROUP BY a.source_node_id ) z ON (x.Komponente=z.source_node_id) ) xx ON (xx.Komponente=yy.ProID) WHERE Projekt ='Test ' ORDER BY pkey DESC
Ggf. sind noch weitere "?.source_node_id" in den "ON"-Zeilen zu ersetzten.Gruss Bernd
Zitat von mAu
-
Also habe es ersetzt:
Sieht jetzt so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
SELECT Projekt,pkey AS Schlüssel,reporter AS Autor,assignee AS Bearbeiter, created AS Erstellt,updated AS Aktualisiert,Vorgangstyp,Lösung,Status, Priorität,Komponente,betrifft_Version, Lösungsversion FROM (SELECT * FROM jiraissue k LEFT OUTER JOIN (SELECT id as ProID,pname AS Projekt FROM project) l on (k.project= l.ProID) LEFT OUTER JOIN (SELECT id as IssID, pname AS Vorgangstyp FROM issuetype) m on (k.issuetype= m.IssID) LEFT OUTER JOIN (SELECT id as ResID, pname AS Lösung FROM resolution) o on (k.resolution= o.ResID) LEFT OUTER JOIN (SELECT id as StaID, pname AS Status FROM issuestatus) u on (k.issuestatus= u.StaID) LEFT OUTER JOIN (SELECT id as PriID, pname AS Priorität FROM priority) n on (k.priority= n.PriID) ) yy LEFT OUTER JOIN (SELECT * FROM (SELECT a.source_node_id AS Komponente, MAX(b.cname) FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id) WHERE association_type = 'IssueComponent' GROUP BY a.source_node_id ) x LEFT OUTER JOIN (SELECT a.source_node_id AS Lösungsversion, MAX( c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'IssueFixversion' GROUP BY a.source_node_id ) y ON (x.Komponente=y.source_node_id) LEFT OUTER JOIN (SELECT a.source_node_id AS betrifft_Version, MAX(c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'Issueversion' GROUP BY a.source_node_id ) z ON (x.Komponente=z.source_node_id) ) xx ON (xx.Komponente=yy.ProID) WHERE Projekt ='infoRate' ORDER BY pkey DESC
Du hast Recht mit deiner Vermutung
Folgende Fehlermeldung:
Unknown column 'y.source_node_id' in 'on clause'
Außerdem gibt es noch eine: z.source_node_id
Muss da auch was beachtet werden?
-
Hallo Bernd,
es hat geklappt
Hab alles nochmal angepasst, sihe Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
SELECT Projekt,pkey AS Schlüssel,reporter AS Autor,assignee AS Bearbeiter, created AS Erstellt,updated AS Aktualisiert,Vorgangstyp,Lösung,Status, Priorität,Komponente,betrifft_Version, Lösungsversion FROM (SELECT * FROM jiraissue k LEFT OUTER JOIN (SELECT id as ProID,pname AS Projekt FROM project) l on (k.project= l.ProID) LEFT OUTER JOIN (SELECT id as IssID, pname AS Vorgangstyp FROM issuetype) m on (k.issuetype= m.IssID) LEFT OUTER JOIN (SELECT id as ResID, pname AS Lösung FROM resolution) o on (k.resolution= o.ResID) LEFT OUTER JOIN (SELECT id as StaID, pname AS Status FROM issuestatus) u on (k.issuestatus= u.StaID) LEFT OUTER JOIN (SELECT id as PriID, pname AS Priorität FROM priority) n on (k.priority= n.PriID) ) yy LEFT OUTER JOIN (SELECT * FROM (SELECT a.source_node_id AS Komponente, MAX(b.cname) FROM nodeassociation a LEFT OUTER JOIN component b ON (a.sink_node_id = b.id) WHERE association_type = 'IssueComponent' GROUP BY a.source_node_id ) x LEFT OUTER JOIN (SELECT a.source_node_id AS Lösungsversion, MAX( c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'IssueFixversion' GROUP BY a.source_node_id ) y ON (x.Komponente=y.Lösungsversion) LEFT OUTER JOIN (SELECT a.source_node_id AS betrifft_Version, MAX(c.vname) FROM nodeassociation a LEFT OUTER JOIN projectversion c ON (a.sink_node_id = c.id) WHERE association_type = 'Issueversion' GROUP BY a.source_node_id ) z ON (x.Komponente=z.betrifft_Version) ) xx ON (xx.Komponente=yy.ProID) WHERE Projekt ='Test' ORDER BY pkey DESC
Funktioniert prima. Vielen vielen vielen vielen vielen vielen Dank
Muss es noch leicht anpassen, aber mit dieser Abfrage habe ich ein Ergebnis bekommen...
Vielleicht hätte ich morgen noch eine kleine Frage an dich
Ähnliche Themen
-
Nach update startet FF nicht mehr
Von akrite im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 10.09.09, 06:52 -
MySql - Nach Eingabe neues Datensatzes funktioniert Abfrage nicht mehr
Von mallmis im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 12.02.08, 22:59 -
Nach PHP & mySQl Update keine Verbindung mehr
Von BitMan im Forum Hosting & WebserverAntworten: 2Letzter Beitrag: 19.10.07, 18:25 -
XP startet nicht mehr nach SP2 Update
Von andycage im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 18.05.05, 09:58 -
Nach Apache Update geht Perl nicht mehr (suexec Problem)
Von Rev im Forum Hosting & WebserverAntworten: 2Letzter Beitrag: 02.02.05, 18:43





Zitieren
Login





