Jump to content

Zusammenführen zweier Abfragen


Direkt zur Lösung Gelöst von ukulele,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Ukulele,

 

danke für deine Hilfe, leider ist das allerdings auch nicht so wirklich die Lösung, nochmal das Problem:

 

Ich habe einmal die Abfrage 1:

 

SELECT VBSVORDT, VBSVORZT, VBSARTTX, VBSHNDKL, VBSURSLD, VBSPALMG, VBSPMENG, VBSFPMNG,  VBSLGANR, arttx, VBSKUNNR, KUNNAME, VBSFOLNR, VBSFOLET, VBSKISZT, VBSECKL, VBSSANID, VBSSANKI FROM tbl_VBS
join tbl_KUN on tbl_kun.KUNNR = tbl_vbs.VBSKUNNR
join tbl_ART on tbl_art.ARTNR = tbl_vbs.VBSLGANR
 where VBSADRNR = '005256' AND  
convert(datetime,convert(char(10),VBSVORDT,104)) between convert(datetime,convert(char(10),getdate(),104)) and dateadd(dd,0,getdate())

 

Und dann habe ich noch die Abfragen 2:

SELECT PARLFD2 as FolNr, PARINHA1 as FolTxt FROM view_PAR where KEYIPAR1 like 'EVARFFOLIENNUMMER%'
SELECT PARLFD2 as EtikNr, PARINHA1 as EtikTxt FROM view_PAR where KEYIPAR1 like 'EVARFFOLIENETIKET%'

 

Da die Ergebnisse beider Abfragen zusammengehören (VBSFOLET und VBSFOLNR entsprechen Zeile 1 bzw. 2) würde ich die gerne auch zusammen ausgeben. Bleibt halt die Frage, wie ich das sinnvolle anstelle. Jemand eine Idee?

Link zu diesem Kommentar
  • Beste Lösung

Du hast also originär 3 Abfragen, meinst du eventuell das hier?

 

SELECT    VBSVORDT,
        VBSVORZT,
        VBSARTTX,
        VBSHNDKL,
        VBSURSLD,
        VBSPALMG,
        VBSPMENG,
        VBSFPMNG,
        VBSLGANR,
        arttx,
        VBSKUNNR,
        KUNNAME,
        VBSFOLNR,
        VBSFOLET,
        VBSKISZT,
        VBSECKL,
        VBSSANID,
        VBSSANKI,
        v1.PARLFD2 AS FolNr,
        v1.PARINHA1 AS FolTxt,
        v2.PARLFD2 AS EtikNr,
        v2.PARINHA1 AS EtikTxt
FROM    tbl_VBS
JOIN    tbl_KUN
ON        tbl_kun.KUNNR = tbl_vbs.VBSKUNNR
JOIN    tbl_ART
ON        tbl_art.ARTNR = tbl_vbs.VBSLGANR
LEFT JOIN view_PAR v1
ON        VBSFOLET = v1.PARLFD2
AND        v1.KEYIPAR1 LIKE 'EVARFFOLIENNUMMER%'
LEFT JOIN view_PAR v2
ON        VBSFOLET = v2.PARLFD2
AND        v2.KEYIPAR1 LIKE 'EVARFFOLIENETIKET%'
WHERE    VBSADRNR = '005256'
AND        convert(datetime,convert(char(10),VBSVORDT,104)) BETWEEN convert(datetime,convert(char(10),getdate(),104)) AND dateadd(dd,0,getdate())

Link zu diesem Kommentar

Also zunächst mal habe ich mit LEFT JOINs gearbeitet so das der Hauptdatensatz deines originären Selects auf jeden Fall angezeigt wird. Dann habe jeweils zwei Join-Bedingungen weil es in der View n verknüpfte Datensätze gibt von denen ich aber nur einen bestimmten brauche.

 

Das ganze musste in zwei verschiedene Spalten (Fol und Etik) also habe ich die View doppelt gejoint, dazu muss man zwingend mit Tabellen-Aliasen arbeiten.

bearbeitet von ukulele
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...