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

Frage Entwicklung Datenbanken

Mitglied: dejoule

dejoule (Level 1) - Jetzt verbinden

25.05.2007, aktualisiert 11:09 Uhr, 12075 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
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 17 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 19 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...