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
GELÖST

SQL Unterabfragen Wert aus darüberliegender - ausführender Abfrage verwenden - höchsten Wert ermitteln

Frage Entwicklung Datenbanken

Mitglied: Midivirus

Midivirus (Level 2) - Jetzt verbinden

08.09.2010, aktualisiert 09.09.2010, 6249 Aufrufe, 5 Kommentare, 1 Danke

Sehr geehrte Gemeinde,

besteht die Möglichkeit, ich gehe mal davon aus nur weiß ich es nicht, dass Ergebniswerte aus der ausführenden SQL-Abfrage an die Unterabfrage gelangen?

Tabelle 1:
beinhaltet alle im System vorhandene Artikel.

Tabelle 2:
beinhaltet alle im System getätigten Bestellungen.

In beiden Tabellen ist eine ID für einen Join hinterlegt.

Mittels Join bekomme ich quasi alle Bestellungen mit den Artikeldaten aufgelistet,
auch ältere ... weil alle!

Ich möchte aber nur die letzte oder neuste Bestellung haben für jeden Artikel haben

beide SQL Abfragen:
Kundenummer, Bezeichnung, Bestell_ID, ... etc.

Bestell_ID, Datum, Menge, etc.


Quellen:
http://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_Unterabfragen
http://www.info-wsf.de/index.php/Unterabfragen

brachte mich jetzt noch nicht weiter.
01.
select DISTINCT kundenummer, kdbezeichnung 
02.
from artikeldaten 
03.
where 
04.
kunde like '%Musterkunde%' and  
05.
order by kundenummer desc
01.
Hier beispielhaft die beiden Abfragen: 
02.
select  
03.
bestelldatum 
04.
from bestellungen 
05.
where  (bestell_ID = '123')  
06.
and geliefert is not null 
07.
LIMIT 1
Es müsste also beim Ausführen der Abfrage die Bestell_ID an die Unterabfrage gegeben werden, so dass dort nach dieser selektiert werden kann.

Ist sowas möglich?

Ansonsten gebt mir Stichworte für google!
sql unterabfragen wert von ebene höher verwenden
sql unterabfragen wert übernehmen
und andere Wörter brachten mich noch nicht ans Ziel!
Mitglied: 93097
08.09.2010 um 19:32 Uhr
Hallo midivirus,

suche mal mit "Korrelierter Unterabfrage".
Für weitere Informationen zu Deinen Abfragen wäre es gut, wenn wir die Tabellenschemata kennen würden.
BTW scheint mir das Tabellendesign etwas suspekt: was machen Kundendaten in der Artikeltabelle? Wie gehst du vor, wenn Du Artikelstammdaten erfassen willst von einem Artikel, der keinem Kunden zugeordnet ist? Oder wenn ein Artikel zu löschen ist, der von nur einem Kunden bestellt wurde?

Viele Grüße

scit.10
Bitte warten ..
Mitglied: Midivirus
08.09.2010 um 19:36 Uhr
Das ist nur ein Schema,

im eigentlichen werden wird ein join über 8 Tabellen gezogen.
Daher gilt es halt nur als Beispiel ... !

Den Begriff hab ich auch schonmal beim stöbern gefunden, kann da aktuell noch nichts mit anfangen.

Bis morgen!
Bitte warten ..
Mitglied: Berrnd
08.09.2010 um 19:41 Uhr
Hi,

ohne dein verwendetes Datenbanksystem zu kennen - hier mal eine Beispiel Abfrage für MSSQL, ob das genauso auf anderen Datenbanken auch funktioniert, kann ich nicht sagen:
Ich denke dein Problem sollte mit einem GROUP BY lösen sein:
01.
SELECT A.Artikel, BST.Bestellnummer, MAX(BST.Datum) 
02.
FROM dbo.Artikel A 
03.
JOIN dbo.Bestellungen BST 
04.
	ON A.Artikel = BST.Artikel 
05.
GROUP BY A.Artikel, BST.Bestellnummer
Gruß
Bernd
Bitte warten ..
Mitglied: 93097
08.09.2010 um 20:13 Uhr
Hallo Midivirus,

ok, der Begriff "Schema" wird in verschiedenen DB-Systemen unterschiedlich verwendet. Ich meinte hier mit Schemata die Beschreibungen der einzelnen Tabellen, d.h. welche (hier relevanten) Felder sie enthalten und was sie bedeuten (falls sich das nicht schon aus dem Namen ergibt)
Eine korrelierte Unterabfrage ist genau das, was du suchst: eine Unterabfrage, die Werte der äußeren Abfrage auswertet.

Viele Grüße,
scit.10
Bitte warten ..
Mitglied: Midivirus
09.09.2010 um 15:49 Uhr
die MAX Funktion war genau korrekt.

Wenn ich mich jetzt auf Excel umdenke, macht es sogar total den Sinn, die zu nehmen. Verlorener Schmalz,
entschuldigt!

PostGres SQL ist die Datenbank!


Grüße
Euer Midi
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
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 ...

PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...