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

Probleme bei einem UNION SELECT

Mitglied: godlie

godlie (Level 2) - Jetzt verbinden

05.03.2010 um 08:46 Uhr, 2882 Aufrufe, 5 Kommentare

Hallo,

ich knabbere gerauem Zeit an einem Query herum, mir ist soweit schon gelungen meine Ganzen Daten aus den Sidetables zu holen ich scheitere nur daran die Daten aus der positions Table noch zu sortieren nach ihrer posNum.
Es soll das ganze in diese Richtung der Darstellung laufen:

Project 0x1
-- Pos 01
-- Pos 02
-- Pos 03

Was ich derzeit habe ist das hier:

Project 0x1
-- Pos 03
-- Pos 01
-- Pos 02

[code]
SELECT p.pid AS dip,p.prNum,"",p.order,p.description,"",cus.name FROM `projectList_projects` AS p
JOIN customers AS cus ON cus.cid = p.customerID)
UNION
(SELECT pd.pid,pd.prNum,pp.posNum,"",pp.description,pp.drawingNum,cus.name FROM `projectList_positions` AS pp
JOIN projectList_projects AS pd ON pd.pID = pp.pID
JOIN customers AS cus ON cus.cid = pd.customerID)
ORDER BY dip
[/code]

Nachdem es ja so ist das die Sortierkritieren im ersten Select getätig werden müssen steig ich gedanklich aus...
Dank und Gruß im voraus
Mitglied: Bolle97
05.03.2010 um 09:23 Uhr
Hallo,

ich kenne es genau andersrum, das "ORDER BY" kommt als Letztes.
Desweiteren kannst Du bei einigen Datenbanken das ORDER BY mit den Positionsnummern der selektierten Spalten angeben, z.B. ORDER BY 1,5,3

Gruß René
Bitte warten ..
Mitglied: Biber
05.03.2010 um 10:03 Uhr
Moin godlie,

versuch es so:
01.
Select x.dip, x.prnum, x.posnum, x.order, x.description, x.drawingnum, x.name From ( 
02.
 
03.
SELECT p.pid AS dip,p.prNum,"" as posnum, p.order,p.description,"" as DrawingNum,cus.name FROM `projectList_projects` AS p 
04.
JOIN customers AS cus ON cus.cid = p.customerID) 
05.
UNION ALL 
06.
(SELECT pd.pid,pd.prNum,pp.posNum,"",pp.description,pp.drawingNum,cus.name FROM `projectList_positions` AS pp 
07.
JOIN projectList_projects AS pd ON pd.pID = pp.pID 
08.
JOIN customers AS cus ON cus.cid = pd.customerID) 
09.
) as x 
10.
ORDER BY x.dip, x.posnum
Die beiden namenlosen Felder in deinem ersten Teil-Select habe ich mit Namen versehen.
Ich bin zwar nicht ganz schlau geworden, nach was du nun sortieren willst... aber an das ORDER BY kommst du ja jetzt ran.

Auf keinen Fall macht es Sinn, schon innerhalb eines der Teil-SELECTs zu sortieren... es wird ja so oder so der komplette Union am Ende neu arrangiert per ORDER BY.

Grüße
Biber
Bitte warten ..
Mitglied: godlie
08.03.2010 um 16:46 Uhr
Hallo,
Die Idee ist ja schon nicht schlecht, nur lauf ich da in einen "every derived TAble musst have its own Alias"Fehler rein.
Aber irgendwie lässt sich das net so recht auflösen...

01.
Select x.dip, x.prnum, x.posnum, x.order, x.description, x.drawingnum, x.name From ( 
02.
 
03.
SELECT p.pid AS dip,p.prNum,"" as posnum, p.order,p.description,"" as DrawingNum,cus.name FROM `projectList_projects` AS p 
04.
JOIN customers AS cus ON cus.cid = p.customerID) AS y 
05.
UNION ALL 
06.
SELECT * FROM ( 
07.
SELECT pd.pid,pd.prNum,pp.posNum,"",pp.description,pp.drawingNum,cus.name FROM `projectList_positions` AS pp 
08.
JOIN projectList_projects AS pd ON pd.pID = pp.pID 
09.
JOIN customers AS cus ON cus.cid = pd.customerID 
10.
) AS z  
11.
) as x 
12.
ORDER BY x.dip, x.posnum
Bitte warten ..
Mitglied: Biber
08.03.2010 um 21:40 Uhr
Moin godlie,

na ja, der einzige "doppelt" verwendete Alis ist doch der Alias "cus" für die Customers-Table.

Ändere doch da mal einen der beiden von cus in Couscous oder in cus2.
01.
Select x.dip, x.prnum, x.posnum, x.order, x.description, x.drawingnum, x.name From ( 
02.
 
03.
SELECT p.pid AS dip,p.prNum,"" as posnum, p.order,p.description,"" as DrawingNum,cus1.name FROM `projectList_projects` AS p 
04.
JOIN customers AS cus1 ON cus1.cid = p.customerID) 
05.
UNION ALL 
06.
(SELECT pd.pid,pd.prNum,pp.posNum,"",pp.description,pp.drawingNum,cus2.name FROM `projectList_positions` AS pp 
07.
JOIN projectList_projects AS pd ON pd.pID = pp.pID 
08.
JOIN customers AS cus2 ON cus2.cid = pd.customerID) 
09.
) as x 
10.
ORDER BY x.dip, x.posnum
Wenn es jetzt nicht fliegt, dann muss ich es wohl doch testen...

Grüße
Biber
Bitte warten ..
Mitglied: godlie
09.03.2010 um 08:20 Uhr
Hallo Biber,
auf das Problem bin ich auch schon gestoßen....
Ich glaube das er sich hier mit dem Subquery vertut bzw. dort noch irgendwo ein Alias erwartet
aber irgendwie will das ganze nicht so recht.
Falls Demo Daten brauchst kann ich dir welche zukommen lassen.

Dank und Gruß
Bitte warten ..
Ähnliche Inhalte
Datenbanken

SQL Abfrage - Folgendes mit UNION möglich?

gelöst Frage von EricAG3Datenbanken4 Kommentare

Lässt sich folgendes mit SQL Union realisieren? Habe damit schon rumgespielt, komme aber nicht wirklich weiter Danke!

Datenbanken

Select Statement

gelöst Frage von pauls1Datenbanken4 Kommentare

Hallo, ich bin neu hier im Forum und habe schon gleich folgende Frage. Und zwar habe zwei Tabellen ('post' ...

Batch & Shell

Powershell Select

gelöst Frage von shwatsonBatch & Shell5 Kommentare

Hallo Community! Zu meinem Problem, ich habe mir ps1 und eine txt Datei erstellt, und versuche nun mit der ...

Datenbanken

SELECT DISTINCT nur für eines der Felder in der Abfrage?

gelöst Frage von AdminKnechtDatenbanken5 Kommentare

Hallo, da ich nicht der DB-Guru bin und eine Abfrage erstellen muss hänge ich hier: Das Dataset sieht momentan ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 13 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 22 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk12 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...