2 SQL Abfragen miteinander verbinden
Hallo,
ich habe 2 Abfragen, welche ich mit inner join auf ELGDEPOTNR zusammen fassen möchte
und alle Felder dann ausgeben,
Nur komme ich nicht drauf wie dieses möglich ist.
ich habe 2 Abfragen, welche ich mit inner join auf ELGDEPOTNR zusammen fassen möchte
und alle Felder dann ausgeben,
Nur komme ich nicht drauf wie dieses möglich ist.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 247527
Url: https://administrator.de/forum/2-sql-abfragen-miteinander-verbinden-247527.html
Ausgedruckt am: 23.12.2024 um 11:12 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
direkt die 1. Frage - warum gruppierst Du in der 2. Abfrage?!? Ist doch keine Aggregat-Funktion im Spiel.
Ansonsten ist das doch einfach. Du hängst die Tabelle ELGREIFENMODELL per INNER JOIN in die 1. Abfrage.
Sofern ELGEINLAGERUNG.ELGDEPOTNR = ELGEINLAGREIFEN.ELGDEPOTNR dies zutrifft.
G Jörg
direkt die 1. Frage - warum gruppierst Du in der 2. Abfrage?!? Ist doch keine Aggregat-Funktion im Spiel.
Ansonsten ist das doch einfach. Du hängst die Tabelle ELGREIFENMODELL per INNER JOIN in die 1. Abfrage.
SELECT ADRESSE.GPTNR,
GESCHPARTNER.NAME1,
ADRESSE.STRASSE,
ADRESSE.PLZ,
ADRESSE.ORT,
ELGEINLAGERUNG.ELGDEPOTNR,
ELGEINLAGERUNG.FZGID,
ELGEINLAGERUNG.FABRIKATKZ,
ELGEINLAGERUNG.MODCODE,
ELGEINLAGERUNG.MODBEZEICHNUNG,
ELGEINLAGERUNG.FAHRGESTELLNR,
ELGEINLAGERUNG.AMTKENNZ,
ELGEINLAGERUNG.EINLAGERTYP,
ELGEINLAGERUNG.EINLAGERSTATUS,
ELGEINLAGERUNG.EINLAGERDATUM,
ELGEINLAGERUNG.EINLAGERBIS,
ELGEINLAGERUNG.ELGLAGERORTID,
ELGEINLAGERUNG.AUSLAGERDATUM,
ELGEINLAGERUNG.STORNODATUM,
ELGREIFENMODELL.SAISONKZ
FROM ELGEINLAGERUNG
INNER JOIN (ADRESSE INNER JOIN GESCHPARTNER ON ADRESSE.GPTNR = GESCHPARTNER.GPTNR) ON ELGEINLAGERUNG.GPTNRKUNDE = GESCHPARTNER.GPTNR
INNER JOIN (ELGREIFENMODELL INNER JOIN ELGEINLAGREIFEN ON ELGREIFENMODELL.ELGREIFENMODELLID = ELGEINLAGREIFEN.ELGREIFENMODELLID) ON ELGEINLAGERUNG.ELGDEPOTNR = ELGEINLAGREIFEN.ELGDEPOTNR
WHERE ELGEINLAGERUNG.EINLAGERSTATUS Like 'EIN';
Sofern ELGEINLAGERUNG.ELGDEPOTNR = ELGEINLAGREIFEN.ELGDEPOTNR dies zutrifft.
G Jörg
Moin karlchristian,
eigentlich stehe ich ja auch auf dem Standpunkt "Wenn's funktioniert, dann lassen wir es so..."
Aber ein "SELECT DISTINCT * FROM (.." kann nicht das Optimum sein.
Probier es anstelle deiner Abfrage mal mit
Ich habe deine Abfrage (ohne das drumgewickelte SELECT DISTINCT) genommen und die ursprünglichen Zeilen als Kommentar dringelassen (Zeile 27-29).
Statt GROUP BY wie in der Ur-Abfrage ganz oben habe ich dort ein SELECT DISTINCT genommen, damit du weiterhin eines dabeihast.
Grüße
Biber
eigentlich stehe ich ja auch auf dem Standpunkt "Wenn's funktioniert, dann lassen wir es so..."
Aber ein "SELECT DISTINCT * FROM (.." kann nicht das Optimum sein.
Probier es anstelle deiner Abfrage mal mit
SELECT ELGEINLAGERUNG.ELGDEPOTNR
, ADRESSE.GPTNR
, GESCHPARTNER.NAME1
, ADRESSE.STRASSE
, ADRESSE.PLZ
, ADRESSE.ORT
, ELGEINLAGERUNG.FZGID
, ELGEINLAGERUNG.FABRIKATKZ
, ELGEINLAGERUNG.MODCODE
, ELGEINLAGERUNG.MODBEZEICHNUNG
, ELGEINLAGERUNG.FAHRGESTELLNR
, ELGEINLAGERUNG.AMTKENNZ
, ELGEINLAGERUNG.EINLAGERTYP
, ELGEINLAGERUNG.EINLAGERSTATUS
, ELGEINLAGERUNG.EINLAGERDATUM
, ELGEINLAGERUNG.EINLAGERBIS
, ELGEINLAGERUNG.ELGLAGERORTID
, ELGEINLAGERUNG.AUSLAGERDATUM
, ELGEINLAGERUNG.STORNODATUM
, depotdaten.SAISONKZ
FROM ELGEINLAGERUNG
INNER JOIN (ADRESSE
INNER JOIN GESCHPARTNER
ON ADRESSE.GPTNR = GESCHPARTNER.GPTNR)
ON ELGEINLAGERUNG.GPTNRKUNDE = GESCHPARTNER.GPTNR
INNER JOIN (
-- ELGREIFENMODELL
-- INNER JOIN ELGEINLAGREIFEN
-- ON ELGREIFENMODELL.ELGREIFENMODELLID = ELGEINLAGREIFEN.ELGREIFENMODELLID)
SELECT distinct r.ELGDEPOTNR
, m.SAISONKZ
FROM ELGREIFENMODELL m
INNER JOIN ELGEINLAGREIFEN r
ON m.ELGREIFENMODELLID = r.ELGREIFENMODELLID ) depotdaten
ON ELGEINLAGERUNG.ELGDEPOTNR = depotdaten.ELGDEPOTNR
WHERE ELGEINLAGERUNG.EINLAGERSTATUS = 'EIN';
Ich habe deine Abfrage (ohne das drumgewickelte SELECT DISTINCT) genommen und die ursprünglichen Zeilen als Kommentar dringelassen (Zeile 27-29).
Statt GROUP BY wie in der Ur-Abfrage ganz oben habe ich dort ein SELECT DISTINCT genommen, damit du weiterhin eines dabeihast.
Grüße
Biber