Zum Inhalt springen
  • 0

SQL Abfrage / Auswertung über Artikel mit left join zu letzter Lieferantenbestellung


DirkB

Frage

Hallo,

ich benötige bitte Hilfe, wie ich in einer Artikel-Auswertung noch die letzte Lieferantenbestellung dazugefügt bekomme.

Aktuell sieht die Auswertung wie folgt aus:

select
    art.artikelnr
  , art.warengruppe
  , art.artikelbezeichnung1
  , art.verpackungseinheit
  , art.kleinste_vpe
  , art.karton_vpe

  , art_ff.feld4                as ff4_KP
  , art_ff.feld3                as ff3_MP
  , art_ff.feld2                as ff2_GP


  , arl.id                      as arl_id
  , arl.lieferantennr           as arl_lieferatnennr
  , arl.mindestbestellmenge     as arl_MinBestMenge
  , arl.einkaufseinheit         as arl_einkaufseinheit
  , arl.verpackungseinheit      as arl_verpackungseinheit

  , bsp.belegnr
  from art
  left join art_ff
    on art_ff.art_id = art.id  
  left join arl
    on arl.art_id = art.id
  left join bsp
    on bsp.art_id = art.id   and bsp.belegart = '2200'
  join bsk
    on bsk.belegnr = bsp.belegnr 

 

Bekomme aber natürlich im Ergebnis zu jedem Artikel alle Belegnummern der Lieferantenbestellungen.

Müsste somit das left join quasi auf "first 1" minimieren ?

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Empfohlene Beiträge

  • 0

Lösung selbst gefunden:

select
    art.artikelnr
  , art.warengruppe
  , art.artikelbezeichnung1
  , art.verpackungseinheit
  , art.mengeneinheit
  , art.kleinste_vpe
  , art.karton_vpe

  , art_ff.feld4                as ff4_KP
  , art_ff.feld3                as ff3_MP
  , art_ff.feld2                as ff2_GP


  , arl.id                      as arl_id
  , arl.art_id                  as arl_art_id
  , arl.adr_id                  as arl_adr_id
  , arl.lieferantennr           as arl_lieferatnennr
  , arl.mindestbestellmenge     as arl_MinBestMenge
  , arl.einkaufseinheit         as arl_einkaufseinheit
  , arl.verpackungseinheit      as arl_verpackungseinheit

  , ( select first 1 belegnr
             from (  select bsp.belegnr as belegnr
                      from bsp
                      where bsp.art_id = art.id   
                        and bsp.belegart = '2400'
                      order by bsp.belegnr desc
                      )
             ) as Letzter_Lief_Beleg
  , ( select first 1 datum
             from (  select bsk.belegdatum as datum
                      from bsk
                      join bsp on bsk.belegnr = bsp.belegnr
                      where bsp.art_id = art.id   
                        and bsp.belegart = '2400'
                      order by bsp.belegnr desc
                      )
             ) as Letzter_Lief_Datum

  , ( select first 1 belegnr
             from (  select bep.belegnr as belegnr
                      from bep
                      where bep.art_id = art.id   
                        and bep.belegart = '0400'
                      order by bep.belegnr desc
                      )
             ) as Letzter_Kd_Beleg
  , ( select first 1 datum
             from (  select bek.belegdatum as datum
                      from bek
                      join bep on bek.belegnr = bep.belegnr
                      where bep.art_id = art.id   
                        and bep.belegart = '0400'
                      order by bep.belegnr desc
                      )
             ) as Letzter_Kd_Datum
 
  from art
  left join art_ff
    on art_ff.art_id = art.id  
  left join arl
    on arl.art_id = art.id
  where art.warengruppe between :von_Warengr and :bis_Warengr
  order by 2,3,1

 

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

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

  Nur 75 Emojis sind erlaubt.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

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

×
×
  • Neu erstellen...