Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MY SQL Abfragen kombinieren

Mitglied: KikiMiki

KikiMiki (Level 1) - Jetzt verbinden

27.03.2009, aktualisiert 09:16 Uhr, 3875 Aufrufe, 12 Kommentare

Hallo und Guten Morgen

ich habe ein Problem mit meine SQL-Abfragen, jede einzeln für sich klappt super, ich möchte die beiden aber kombinieren, hab aber keine Ahnung wie. Es ist eine MySQL-Datenbank.

Abfrage 1 lautet

01.
SELECT j.id as ID,j.pkey AS Issue,i.pname As Type ,prio.pname AS Prio, 
02.
CI.OLDSTRING AS 'from', 
03.
CI.NEWSTRING AS 'to', 
04.
CG.CREATED AS Timestamp 
05.
FROM jiraissue j, changegroup CG, changeitem CI, issuetype i,priority prio, project proj 
06.
WHERE j.ID=CG.ISSUEID AND CG.ID=CI.GROUPID 
07.
AND j.issuetype = i.ID 
08.
AND j.priority = prio.ID 
09.
and j.project = proj.id 
10.
AND j.PKEY like 'projekt_a-%' 
11.
AND CI.FIELD = 'status' 
12.
 
13.
UNION ALL 
14.
 
15.
 
16.
Select j.id as ID,j.pkey as Issue, i.pname as Type, prio.pname as Prio, 
17.
'Issue Created' as 'from','Issue Created' as 'to', created as Timestamp 
18.
 
19.
from jiraissue j,issuetype i, priority prio, project proj 
20.
where j.pkey like 'projekt_a-%' 
21.
and j.priority=prio.id 
22.
and j.issuetype=i.id 
23.
and j.project = proj.id 
24.
 
25.
Order by ID desc,timestamp asc; 
26.
 

Abfrage 2 lautet:
01.
SELECT j.id AS ID,MAX(b.vname) AS Solution FROM jiraissue j,nodeassociation n,projectversion b 
02.
where pkey like 'projekt_a-%' 
03.
and n.association_type='IssueFixVersion' 
04.
and j.id=n.source_node_id 
05.
and n.sink_node_id = b.id 
06.
GROUP BY n.source_node_id 
07.
order by j.id desc;

Abfrage 1 liefert 2541 Zeilen
Abfrage 2 liefert 702 Zeilen


In Abfrage 2 wird zu jeder ID eine Lösungsversion mitgegeben. Jede ID gibt es nur ein mal

Jetzt sollen diese Lösungsvrsionen den ID in Abfrage I zugeordnet werden.

D.h. Sind ID in Abfrage 1 und 2 gleich soll die ID mitgegeben werden


In der Gesamtabfrage müssen alle 2541 Zeilen geliefert werden.
Nur soll noch die Lösungversion (Abfrage 2) in Abfrage 1 eingebaut werden
Die ID aus Abfrage 1 die keine Lösungsversion haben sollen trotzdem aufgeführt werden

Ist das verständlich?
Mitglied: godlie
27.03.2009 um 10:09 Uhr
Hm ich glaub so könnts gehen:
01.
SELECT j.id as ID,j.pkey AS Issue,i.pname As Type ,prio.pname AS Prio, 
02.
CI.OLDSTRING AS 'from', 
03.
CI.NEWSTRING AS 'to', 
04.
CG.CREATED AS Timestamp, 
05.
'Issue Created' as 'from', 
06.
'Issue Created' as 'to', 
07.
MAX(b.vname) AS Solution 
08.
FROM  
09.
jiraissue j,  
10.
changegroup CG,  
11.
changeitem CI,  
12.
issuetype i, 
13.
priority prio,  
14.
project proj,  
15.
issuetype i, 
16.
nodeassociation n,  
17.
projectversion b 
18.
WHERE  
19.
j.ID=CG.ISSUEID and CG.ID=CI.GROUPID 
20.
and j.issuetype = i.ID 
21.
and j.priority = prio.ID 
22.
and j.project = proj.id 
23.
and j.PKEY like 'projekt_a-%' 
24.
and CI.FIELD = 'status' 
25.
and n.association_type='IssueFixVersion' 
26.
and j.id=n.source_node_id 
27.
and n.sink_node_id = b.id 
28.
GROUP BY n.source_node_id 
29.
UNION ALL 
30.
Order by ID desc,timestamp asc;
Bitte warten ..
Mitglied: KikiMiki
27.03.2009 um 10:14 Uhr
Hi godlie,

folgende Fehlermeldung:

Not unique table/alias: 'i'


Hast eine Idee was geändert werden muss?
Bitte warten ..
Mitglied: godlie
27.03.2009 um 10:24 Uhr
ah ja habs grad gesehen das bei den Tables 2mal die issuetype i, drinne is gehört einmal raus.
Bitte warten ..
Mitglied: KikiMiki
27.03.2009 um 10:29 Uhr
und an welcher stelle?? ;)
Kannst den code bitte posten? ;)
Bitte warten ..
Mitglied: KikiMiki
27.03.2009 um 10:31 Uhr
Folgender Code benutzt:

01.
SELECT j.id as ID,j.pkey AS Issue,i.pname As Type ,prio.pname AS Prio, 
02.
CI.OLDSTRING AS 'from', 
03.
CI.NEWSTRING AS 'to', 
04.
CG.CREATED AS Timestamp, 
05.
'Issue Created' as 'from', 
06.
'Issue Created' as 'to', 
07.
MAX(b.vname) AS Solution 
08.
FROM  
09.
jiraissue j, 
10.
changegroup CG,  
11.
changeitem CI,  
12.
priority prio, 
13.
project proj, 
14.
issuetype i, 
15.
nodeassociation n,  
16.
projectversion b 
17.
WHERE  
18.
j.ID=CG.ISSUEID and CG.ID=CI.GROUPID 
19.
and j.issuetype = i.ID 
20.
and j.priority = prio.ID 
21.
and j.project = proj.id 
22.
and j.PKEY like 'projekt_a-%' 
23.
and CI.FIELD = 'status' 
24.
and n.association_type='IssueFixVersion' 
25.
and j.id=n.source_node_id 
26.
and n.sink_node_id = b.id 
27.
GROUP BY n.source_node_id 
28.
UNION ALL 
29.
Order by ID desc,timestamp asc;
Folgende 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 'Order by ID desc,timestamp asc' at line 29
Bitte warten ..
Mitglied: godlie
27.03.2009 um 10:39 Uhr
Hm das kann jetzt haarig werden.

01.
SELECT j.id as ID,j.pkey AS Issue,i.pname As Type ,prio.pname AS Prio, 
02.
CI.OLDSTRING AS 'from', 
03.
CI.NEWSTRING AS 'to', 
04.
CG.CREATED AS Timestamp, 
05.
'Issue Created' as 'from', 
06.
'Issue Created' as 'to', 
07.
MAX(b.vname) AS Solution 
08.
FROM  
09.
jiraissue j, 
10.
changegroup CG,  
11.
changeitem CI,  
12.
priority prio, 
13.
project proj, 
14.
issuetype i, 
15.
nodeassociation n,  
16.
projectversion b 
17.
WHERE  
18.
j.ID=CG.ISSUEID and CG.ID=CI.GROUPID 
19.
and j.issuetype = i.ID 
20.
and j.priority = prio.ID 
21.
and j.project = proj.id 
22.
and j.PKEY like 'projekt_a-%' 
23.
and CI.FIELD = 'status' 
24.
and n.association_type='IssueFixVersion' 
25.
and j.id=n.source_node_id 
26.
and n.sink_node_id = b.id 
27.
GROUP BY n.source_node_id 
28.
Order by ID desc,timestamp asc;
falls das nicht zum gewünschten Effekt führt evtl ein DISTINCT nach MAX(b.vname) AS Solution einfügen.
Bitte warten ..
Mitglied: KikiMiki
27.03.2009 um 10:53 Uhr
Hi godlie,

erstmal vielen dank für deine mühe

Der Code wird ausgeführt liefert aber nicht das gewünschte Ergebnis

Jede ID taucht nur 1 mal auf. Aber es kann mehrere Einträge zu einer ID geben
Und es werden nur die ID`S angezeigt die eine Lösung haben

Ich brauch aber alle Zeilen aus Abfrage 1. Und wenn diese Eine Lösung hat dann soll diese hingeschrieben werden. Ansonsten wenn keine Lösung dann NULL
Hab ich jetzt 3 mal die selbe ID und diese ID hat die Lösung XY. dann soll 3 mal XY stehen das stört nicht
Bitte warten ..
Mitglied: godlie
27.03.2009 um 10:59 Uhr
Hm da muss man dann mit Left und Right Joins arbeiten aber ohne einer Beispieldatenbank wird das schwer.
Ich schau mir das am abend mal genauer an.
Bitte warten ..
Mitglied: KikiMiki
27.03.2009 um 11:02 Uhr
Das wäre super wenn du das irgendwie hinbekommst
Bitte warten ..
Mitglied: nxclass
27.03.2009 um 11:20 Uhr
01.
SELECT 
02.
    a1.*, 
03.
    a2.ID AS 'ID2' 
04.
FROM 
05.
    (  
06.
{deine Abfrage1} 
07.
    ) a1 LEFT JOIN ( 
08.
{deine Abfrage2} 
09.
    ) a2 ON a1.ID = a2.ID
... meinst du so ?
Bitte warten ..
Mitglied: KikiMiki
27.03.2009 um 11:30 Uhr
Hab es so gemacht:
01.
SELECT 
02.
    a1.*, 
03.
    a2.ID 
04.
FROM 
05.
    (  
06.
{SELECT j.id as ID,j.pkey AS Issue,i.pname As Type ,prio.pname AS Prio, 
07.
CI.OLDSTRING AS 'from', 
08.
CI.NEWSTRING AS 'to', 
09.
CG.CREATED AS Timestamp 
10.
FROM jiraissue j, changegroup CG, changeitem CI, issuetype i,priority prio, project proj 
11.
WHERE j.ID=CG.ISSUEID AND CG.ID=CI.GROUPID 
12.
AND j.issuetype = i.ID 
13.
AND j.priority = prio.ID 
14.
and j.project = proj.id 
15.
AND j.PKEY like 'proja-%' 
16.
AND CI.FIELD = 'status' 
17.
 
18.
UNION ALL 
19.
 
20.
 
21.
Select j.id as ID,j.pkey as Issue, i.pname as Type, prio.pname as Prio, 
22.
'Issue Created' as 'from','Issue Created' as 'to', created as Timestamp 
23.
 
24.
from jiraissue j,issuetype i, priority prio, project proj 
25.
where j.pkey like 'proja-%' 
26.
and j.priority=prio.id 
27.
and j.issuetype=i.id 
28.
and j.project = proj.id 
29.
 
30.
Order by ID desc,timestamp asc} 
31.
    ) a1 LEFT JOIN ( 
32.
{SELECT j.id AS ID,MAX(b.vname) AS Solution FROM jiraissue j,nodeassociation n,projectversion b 
33.
where pkey like 'proja-%' 
34.
and n.association_type='IssueFixVersion' 
35.
and j.id=n.source_node_id 
36.
and n.sink_node_id = b.id 
37.
GROUP BY n.source_node_id 
38.
order by j.id desc} 
39.
    ) a2 ON a1.ID = a2.ID; 
40.
 

Folgender Fehler

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 'SELECT j.id as ID3,j.pkey AS Issue,i.pname As Type ,prio.pname AS Prio,
CI.OLDS' at line 6
Bitte warten ..
Mitglied: nxclass
27.03.2009 um 17:50 Uhr
wo steht '.. ID3..' ?
und '{' und '}' müssen weg !

edit
.. as ID .. -> .. as 'ID' ...
Bitte warten ..
Ähnliche Inhalte
Datenbanken

SQL-Dateien sortieren, kombinieren und filtern

gelöst Frage von derapfelsaftDatenbanken6 Kommentare

Hallo zusammen, ich habe folgende Problem: SQL Datei #1 hat die Spaltennamen: ID; Name; Phone; Funktion; Adresse SQL Datei ...

Datenbanken

OpenSource Framework für (my)SQL-Datenbank

Frage von BirdyBDatenbanken10 Kommentare

Hallo zusammen, ein Bekannter ist an mich mit der Bitte herangetreten, ob ich ihm nicht "eine Datenbank" bauen könnte ...

PHP

Abfrage SQL

gelöst Frage von dudeldoedelPHP3 Kommentare

Hallo zusammen, kann man das in einer SQL Abfrage erreichen ??? Feldwert lautet: {"565":{"textinput":{"comment":"1400"}}} als Ergebnis soll ausgelesen werden ...

Datenbanken

Hilfe bei SQL Abfrage

gelöst Frage von e51bomagDatenbanken9 Kommentare

Habe einfach eine Denkblockade und würde mich über Hilfe bei einer Datenbankabfrage freuen. Die Abfrage lautet wie folgt: SELECT ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 11 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 14 StundenAdministrator.de Feedback10 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...