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

SQL-Abfrage Unterabfrage mit Fehler

Mitglied: dejoule

dejoule (Level 1) - Jetzt verbinden

25.05.2007, aktualisiert 11:09 Uhr, 12322 Aufrufe, 5 Kommentare

Hallo an alle


Ich plage mich derzeit mit einer SQL Abfrage herum, die folgende Fehlermeldung bringt:

Meldung 512, Ebene 16, Status 1, Zeile 1
Die Unterabfrage hat mehr als einen Wert zurückgegeben. Das ist nicht zulässig, wenn die Unterabfrage auf =, !=, <, <=, > oder >= folgt oder als Ausdruck verwendet wird.

Meine Abfrage sieht so aus:
select m_MIT.MANR MITARB_VNR, m_ROLLE_UEB.BEZH MIT_ROLLE, m_mit.mitueb,

(select m_Rolle_ueb1.cbezeich
from
ROLLEN M_ROLLE_UEB1,
MITROLLE M_MITROLLE,
MIT m_MIT

where
M_MITROLLE.mit = m_mit.mitueb
and m_rolle_ueb1.nnr = m_mitrolle.rolle
) AS MIT_ROLLE_UEB

FROM
ROLLEN M_ROLLE_UEB,
MIT m_MIT



Die Unterabfrage steht wie Ihr seht im Select Bereich. Da ich der totale Neuling in SQL Bin stehe ich nun ein wenig auf den Schlauch und habe gar keinen Ansatz, wie ich vorgehen muss.

Vielen Dank für Eure Mühen
Mitglied: Logan000
25.05.2007 um 08:22 Uhr
Wenn ich mich recht erinnere dürfen Unterabfragen im Select nur einen Wert zurück liefern.
Führe die unterabfrage seperat aus. Liefert diese nur einen Wert?
Bitte warten ..
Mitglied: dejoule
25.05.2007 um 08:30 Uhr
Hallo Logan000

Na ja, einen Wert nicht, er gibt halt alle Einträge der Spalte an. Diese sollen den Zeilen der äußeren Abfrage zugeordnet werden.
Bitte warten ..
Mitglied: 32067
25.05.2007 um 09:00 Uhr
Hallo Logan000

Na ja, einen Wert nicht, er gibt halt alle
Einträge der Spalte an. Diese sollen den
Zeilen der äußeren Abfrage
zugeordnet werden.

Hmmm, wie soll ich sagen: Mit SQL anzufangen ohne zu wissen was ein JOIN ist, ist ähhh ... eher kontraproduktiv , weil das ist DAS Mittel um Tabelle miteinander zu verknüpfen.

Mach dich mal schlau über JOIN, INNER JOIN und OUTER JOIN, dann sollte dir dein Denkfehler klar werden.
Bitte warten ..
Mitglied: AndreasHoster
25.05.2007 um 09:13 Uhr
In dem Fall musst Du die Tabellen miteinander verknüpfen (JOIN) nicht eine Unterabfrage verwenden (die darf nämlich hier wirklich nur einen Wert zurückliefern).
Also ungefähr so:
01.
select m_MIT.MANR as MITARB_VNR, m_ROLLE_UEB.BEZH as MIT_ROLLE, m_mit.mitueb, m_Rolle_ueb.cbezeich AS MIT_ROLLE_UEB 
02.
FROM 
03.
ROLLEN as M_ROLLE_UEB, 
04.
MITROLLE as M_MITROLLE, 
05.
MIT as m_MIT 
06.
where 
07.
M_MITROLLE.mit = m_mit.mitueb 
08.
and m_rolle_ueb.nnr = m_mitrolle.rolle;
Sollte syntaktisch richtig sein, obs als Ergebnis das bringt was Du willst, ist noch die Frage.
Und ich würde bei Alias immer as schreiben, ist übersichtlicher (wenn man überhaupt Aliase braucht).
Bitte warten ..
Mitglied: Biber
25.05.2007 um 11:09 Uhr
Moin dejoule,

die von DKrause und AndreasHoster genannten Alternativen zu einem SubSelect (via Joins bzw über eine komplexerer WHERE-Clause) sind die richtigen Antworten).

Dein nicht funktionierendes Statement brauchen wir nicht weiter korrigieren - denn dort ist in diesem Fall die falsche Strategie angewandt.

Ich habe AndreasHosters Schnipsel als <code> formatiert.

Und an alle noch mal die Bitte: bei Fragen zu SQL-Statements bitte immer das konkrete DBMS-Blech angeben, das darunterliegt. Am besten mit Version.

Denn SQL ist ähnlich standardisiert wie nordhessische Dialekte - ein Dorf weiter versteht Dich keiner...

Gruss
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken

SQL - Abfrage - Mehrere JOINS - Zusätzliche unterabfrage mit Group By

gelöst Frage von Andy1987Datenbanken4 Kommentare

Hallo Leute, ich habe mal wieder ein Problem mit einer SQL Abfrage. Es geht hierbei um Übersicht zur Netzwerkdokumentation, ...

Datenbanken

Fehler bei SQL Abfrage - Filter Funktion

gelöst Frage von mschaedler1982Datenbanken2 Kommentare

Hallo zusammen, Wir haben hier eine SQL Abfrage erstellt (funktioniert soweit auch alles) nur wenn wir das ganze als ...

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

MySQL Unterabfragen

gelöst Frage von Milchmann89Datenbanken2 Kommentare

Guten Tag, irgendwas hab ich an den Unterabfragen glaub ich falsch verstanden. :) Versucht habe ich zwei SELECTS in ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 23 StundenWindows 105 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 1 TagAdministrator.de Feedback18 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 2 TagenGoogle 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
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 ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...