Neu Eigene Übersicht > Lieferantenbestellungen

DrGreen

Gut bekanntes Mitglied
24. Dezember 2017
179
23
Hi Leute,

ich brauche bitte eure Hilfe:

Möchte eine neue "Eigene Übersicht" im Bereich unter den Lieferantenbestellungen um zu sehen ob sich in der markierten Bestellung Positionen befinden welche noch mit einer anderen Bestellung als "in Zulauf" markiert sind, mit folgenden Spalten:

- Artikelnummer
- Artikelname
- Offene Menge
- Bestelldatum
- Bestellnummer
- Lieferant

Vielen Dank im Voraus!

lg
Tom
 

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
134
66
Halle (Saale)
Firma
DREIZACK Medien
Bitte mal testen

SQL:
SELECT
    allBestellungen.cArtNr AS Artikelnummer,
    allBestellungen.cName AS Artikelname,
    CONVERT(int,allBestellungen.fAnzahlOffen) AS 'Anzahl offen',
    FORMAT(allBestellungen.dErstellt,'dd.MM.yyyy') AS Bestelldatum,
    allBestellungen.cEigeneBestellnummer AS Bestellnr,
    allBestellungen.cFirma AS Lieferant
FROM
    (SELECT
        tLieferantenBestellungPos.kArtikel
    FROM tLieferantenBestellung
    LEFT JOIN tLieferantenBestellungPos
        ON tLieferantenBestellung.kLieferantenBestellung = tLieferantenBestellungPos.kLieferantenBestellung
    WHERE tLieferantenBestellung.kLieferantenBestellung = @Key
    ) AS cBestellung
LEFT JOIN
    (SELECT
        tLieferantenBestellungPos.cName,
        tLieferantenBestellungPos.kArtikel,
        tLieferantenBestellungPos.fAnzahlOffen,
        tLieferantenBestellungPos.cArtNr,
        tLieferantenBestellung.dErstellt,
        tLieferantenBestellung.cEigeneBestellnummer,
        tlieferant.cFirma
    FROM tLieferantenBestellung
    LEFT JOIN tLieferantenBestellungPos
        ON tLieferantenBestellung.kLieferantenBestellung = tLieferantenBestellungPos.kLieferantenBestellung
    LEFT JOIN tlieferant
        ON tLieferantenBestellung.kLieferant = tlieferant.kLieferant
    WHERE tLieferantenBestellungPos.fAnzahlOffen > 0
    ) AS allBestellungen
        ON cBestellung.kArtikel = allBestellungen.kArtikel
 
  • Gefällt mir
Reaktionen: DrGreen

DrGreen

Gut bekanntes Mitglied
24. Dezember 2017
179
23
Hi Christian,

danke dir aber leider werden hier auch die Positionen die sich in der Bestellung selbst befinden auch angezeigt. Siehe Screenshot:
 

Anhänge

  • Anmerkung 2020-04-10 131415.jpg
    Anmerkung 2020-04-10 131415.jpg
    231,5 KB · Aufrufe: 79

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
134
66
Halle (Saale)
Firma
DREIZACK Medien
Ach du möchtest nur die fremden Bestellungen sehen. Ja kein Problem. Soll denn dann über alle Positionen in der gewählten Bestellungen überprüft werden, ob da noch offene Mengen in anderen Bestellungenn sind, oder nur wenn in der gewählten Bestellung die Position auch noch offen ist?
 

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
134
66
Halle (Saale)
Firma
DREIZACK Medien
Diese Variante zeigt dir alle Positionen, aller fremden Bestellungen an, die auch in der gewählten Bestellung enthalten sind. unabhängig davon, ob diese in der gewählten Bestellung komplett geliefert oder noch offen sind.

SQL:
SELECT
    allBestellungen.cArtNr AS Artikelnummer,
    allBestellungen.cName AS Artikelname,
    CONVERT(int,allBestellungen.fAnzahlOffen) AS 'Anzahl offen',
    FORMAT(allBestellungen.dErstellt,'dd.MM.yyyy') AS Bestelldatum,
    allBestellungen.cEigeneBestellnummer AS Bestellnr,
    allBestellungen.cFirma AS Lieferant
FROM
    (SELECT
        
        tLieferantenBestellungPos.kArtikel
    FROM tLieferantenBestellung
    LEFT JOIN tLieferantenBestellungPos
        ON tLieferantenBestellung.kLieferantenBestellung = tLieferantenBestellungPos.kLieferantenBestellung
    WHERE tLieferantenBestellung.kLieferantenBestellung = @Key
    ) AS cBestellung
LEFT JOIN
    (SELECT
        tLieferantenBestellung.kLieferantenBestellung,
        tLieferantenBestellungPos.cName,
        tLieferantenBestellungPos.kArtikel,
        tLieferantenBestellungPos.fAnzahlOffen,
        tLieferantenBestellungPos.cArtNr,
        tLieferantenBestellung.dErstellt,
        tLieferantenBestellung.cEigeneBestellnummer,
        tlieferant.cFirma
    FROM tLieferantenBestellung
    LEFT JOIN tLieferantenBestellungPos
        ON tLieferantenBestellung.kLieferantenBestellung = tLieferantenBestellungPos.kLieferantenBestellung
    LEFT JOIN tlieferant
        ON tLieferantenBestellung.kLieferant = tlieferant.kLieferant
    WHERE tLieferantenBestellungPos.fAnzahlOffen > 0
    ) AS allBestellungen
        ON cBestellung.kArtikel = allBestellungen.kArtikel
WHERE
    allBestellungen.kLieferantenBestellung != @Key
 
  • Gefällt mir
Reaktionen: DrGreen

DrGreen

Gut bekanntes Mitglied
24. Dezember 2017
179
23
Ersteres, immer wenn in ieiner Bestellung noch was offen ist, dann möchte ich das gerne unten sehen. Danke dir!
 

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
134
66
Halle (Saale)
Firma
DREIZACK Medien
Diese Variante überprüft in den fremden Bestellungen nur die Positionen, die in der gewählten Bestellung enthalten UND noch offen sind

SQL:
SELECT
    allBestellungen.cArtNr AS Artikelnummer,
    allBestellungen.cName AS Artikelname,
    CONVERT(int,allBestellungen.fAnzahlOffen) AS 'Anzahl offen',
    FORMAT(allBestellungen.dErstellt,'dd.MM.yyyy') AS Bestelldatum,
    allBestellungen.cEigeneBestellnummer AS Bestellnr,
    allBestellungen.cFirma AS Lieferant
FROM
    (SELECT
        
        tLieferantenBestellungPos.kArtikel
    FROM tLieferantenBestellung
    LEFT JOIN tLieferantenBestellungPos
        ON tLieferantenBestellung.kLieferantenBestellung = tLieferantenBestellungPos.kLieferantenBestellung
    WHERE tLieferantenBestellung.kLieferantenBestellung = @Key AND tLieferantenBestellungPos.fAnzahlOffen > 0
    ) AS cBestellung
LEFT JOIN
    (SELECT
        tLieferantenBestellung.kLieferantenBestellung,
        tLieferantenBestellungPos.cName,
        tLieferantenBestellungPos.kArtikel,
        tLieferantenBestellungPos.fAnzahlOffen,
        tLieferantenBestellungPos.cArtNr,
        tLieferantenBestellung.dErstellt,
        tLieferantenBestellung.cEigeneBestellnummer,
        tlieferant.cFirma
    FROM tLieferantenBestellung
    LEFT JOIN tLieferantenBestellungPos
        ON tLieferantenBestellung.kLieferantenBestellung = tLieferantenBestellungPos.kLieferantenBestellung
    LEFT JOIN tlieferant
        ON tLieferantenBestellung.kLieferant = tlieferant.kLieferant
    WHERE tLieferantenBestellungPos.fAnzahlOffen > 0
    ) AS allBestellungen
        ON cBestellung.kArtikel = allBestellungen.kArtikel
WHERE
    allBestellungen.kLieferantenBestellung != @Key
 
  • Gefällt mir
Reaktionen: tim239 und DrGreen

Daniel_Funk

Aktives Mitglied
12. April 2018
2
0
Juhu, das ist echt gut. Gibt es vielleicht noch eine Möglichkeit die beim Lieferant hinterlegten Frachtkosten auszuschließen bei der Abfrage?
 

Ähnliche Themen