2 SELECT Anweisungen verbinden

SQL Rookie

Benutzer
Beiträge
6
Hallo zusammen,
ich bin neu in diesem Forum und auch in der SQL Welt. Dies ist mein erster Beitrag und ich versuche einmal die Problemstellung zu beschreiben.

Ich habe zwei Ausgangsfelder
TROH-UNNR = 1903
TROH-GGVS-VP = III

und 2 Datenbanktabellen
CORE_VERPACKUNGSGRUPPE
INTID | NUMMER
40271801 | III

CORE_UNNUMMER
INTID |NUMMER |INTID_VERPACKUNGSGRUPPE
47791806 | 1903 | 40271801

Jetzt versuche ich über meine Ausgangsfelder den Satz in der CORE_UNNUMMER zu ermitteln
Hierzu suche ich mir in der CORE_VERPACKUNGSGRUPPE die INTID zu III. Dann will ich mit dieser INTID und der Nummer 1903 die INTID aus der CORE_UNNUMMER ermitteln.

Hierzu setze ich dann folgende SELECT s ab:
SELECT T1.INTID FROM CORE_VERPACKUNGSGRUPPE WHERE NUMMER = TROH-GGVS-VP

SELECT T2.INTID FROM CORE_UNNUMMER WHERE NUMMER = TROH-UNNR AND INTID_VERPACKUNGSGRUPPE = T1.INTID

Jetzt möchte ich gerne dieses beiden SELECT Befehle in einem einzigen unterbringen.

Ich hoffe ich konnte die Problematik verständlich vermitteln und bedanke mich bereits für eure Antworten.

Gruß Thomas
 
Werbung:
auch nach mehrfachem Durchlesen ist Dein Problem schwer nachzuvollziehen. Was verstehst Du unter Ausgangsfelder? Was soll denn insgesamt bei rauskommen? Wie hängen die 2 Tabellen logisch zusammen? Was sind das für Datentypen? In den Ausgangsfeldern ist das mal was numerisches (1903), dann ein String. Alles recht wirr...
 
Erst einmal vielen Dank für deine Antwort

ok ich versuche es etwas kürzer zu formulieren

Ich suche in der Tabelle CORE_UNNUMMER den Satz mit der INTID 47791806 ohne sie zu kennen.
Ich habe halt nur die obigen zwei Werte also 1903 und 'III'

Normalerweise würde ich ja die Abfrage starten

SELECT INTID FROM CORE_UNNUMMER WHERE NUMMER = 1903 AND INTID_VERPACKUNGSGRUPPE = 123456789

die INTID_VERPACKUNGSGRUPPE (also die 123456789) muss ich mir aber erst aus der Tabelle CORE_VERPACKUNGSGRUPPE ermitteln,
also über den bekannten Wert 'III'

Ich muss diese also quasi erst mit dem Befehl
SELECT INTID FROM CORE_VERPACKUNGSGRUPPE WHERE NUMMER = 'III' ermitteln.

Somit muss ich mir zuerst aus Tabelle CORE_VERPACKUNGSGRUPPE einen Wert ermitteln den ich für die Abfrage auf CORE_UNNUMMER brauche.

Ich hoffe ich habe es jetzt etwas genauer beschreiben können.
 
SELECT INTID FROM CORE_UNNUMMER WHERE NUMMER = 1903 AND INTID_VERPACKUNGSGRUPPE = (SELECT INTID FROM CORE_VERPACKUNGSGRUPPE WHERE NUMMER = 'III');


löst dies das Problem?
 
Vielen Dank für die Antworten.
Ich werde dies morgen früh direkt testen und gebe dann eine Rückmeldung.
Sieht aber plausibel aus. Wie gesagt SQL - Beginner
 
Werbung:
Zurück
Oben