Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung Datenbanken

Mitglied: dejoule

dejoule (Level 1) - Jetzt verbinden

25.05.2007, aktualisiert 11:09 Uhr, 11364 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 ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Datenbanken
gelöst Fehler bei SQL Abfrage - Filter Funktion (2)

Frage von mschaedler1982 zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
SUM oder AVG in SQL Abfrage dauert viel zu lange warum? (5)

Frage von samet22 zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage mit MAX() (9)

Frage von FrAmEr zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...