Zum Inhalt wechseln


Foto

Zusammenführen zweier Abfragen


  • Bitte melde dich an um zu Antworten
26 Antworten in diesem Thema

#16 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 09. Oktober 2015 - 06:34

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?



#17 zahni

zahni

    Expert Member

  • 16.500 Beiträge

 

Geschrieben 09. Oktober 2015 - 06:51

Vielleicht schriebt Du hier mal den Select-Befehlt der View.


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#18 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 09. Oktober 2015 - 08:05

Was meinst Du?



#19 zahni

zahni

    Expert Member

  • 16.500 Beiträge

 

Geschrieben 09. Oktober 2015 - 08:52

Na "view_PAR" ist doch eine View, oder nicht? Eine View hat einen SQL-Quellcode.


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#20 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 09. Oktober 2015 - 11:18

Für diese Abfrage könnte ich auch tbl_par benutzen, das Ergebnis wäre das gleiche. Hiflt das weiter? Ich habe nämlich gerade keine Idee wie ich an den Quellcode der View kommen soll.



#21 ukulele

ukulele

    Newbie

  • 68 Beiträge

 

Geschrieben 09. Oktober 2015 - 13:46   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())



#22 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 09. Oktober 2015 - 15:38

Hallo,

 

das sieht schon mal suuuper aus (Danke, danke) :-)

 

Magst Du mir noch erklären, was Du gemacht hast?



#23 ukulele

ukulele

    Newbie

  • 68 Beiträge

 

Geschrieben 12. Oktober 2015 - 08:43

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, 12. Oktober 2015 - 08:43.


#24 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 13. Oktober 2015 - 06:29

Danke für Deine Erklärung..die hilft mir auf jedenfall sehr...auf aliasse für Tabellen (das sind diese v1 und v2, oder?) wäre ich nie im Leben gekommen.

 

Vielen Dank nochmal!



#25 ukulele

ukulele

    Newbie

  • 68 Beiträge

 

Geschrieben 13. Oktober 2015 - 06:46

Ja in diesem Fall v1 und v2, die kannst du aber beliebig nennen.



#26 Sunny61

Sunny61

    Expert Member

  • 22.235 Beiträge

 

Geschrieben 13. Oktober 2015 - 06:46

Hier gibt es Infos zur Verwendung von Tabellenaliasnamen:
https://technet.micr...v=sql.105).aspx
http://www.techonthe...erver/alias.php
https://en.wikipedia...iki/Alias_(SQL)
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#27 karkenau

karkenau

    Newbie

  • 94 Beiträge

 

Geschrieben 13. Oktober 2015 - 13:04

Danke für die Links!