SQO ABFRAGE LAGERPLATZ KOMNENTAR

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
116
5
Heusenstamm
Hallo,

Wie kann ich zusätzlich mit SQL die Lagerplatzkommentare abragen? Liede bin ich nur Leihe auf diesem Gebiet.
Vielen lieben Dank euch schoon mal.



DECLARE @artikel_name nvarchar(100)
SELECT @artikel_name = cName FROM tArtikelBeschreibung WHERE kArtikel = @Key AND kPlattform = 1

SELECT @artikel_name AS 'Artikel',
tWarenLager.cName AS Warenlager,
tWarenLagerPlatz.cName AS Lagerplatz,
CONVERT(money, SUM(tWarenLagerEingang.fAnzahlAktuell)) AS Bestand
FROM dbo.tWarenLagerEingang
JOIN dbo.tWarenLagerPlatz ON tWarenLagerEingang.kWarenLagerPlatz = tWarenLagerPlatz.kWarenLagerPlatz
JOIN dbo.tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
WHERE tWarenLagerEingang.fAnzahlAktuell > 0.0
AND tWarenLagerEingang.kArtikel = @Key
GROUP BY tWarenLager.cName,
tWarenLagerPlatz.cName
ORDER BY tWarenLager.cName,
tWarenLagerPlatz.cName
 

Anhänge

  • Lagerplatz.PNG
    Lagerplatz.PNG
    7,8 KB · Aufrufe: 6

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.261
337
DECLARE @artikel_name nvarchar(100)
SELECT @artikel_name = cName FROM tArtikelBeschreibung WHERE kArtikel = @Key AND kPlattform = 1

SELECT @artikel_name AS 'Artikel',
tWarenLager.cName AS Warenlager,
tWarenLagerPlatz.cName AS Lagerplatz,
CONVERT(money, SUM(tWarenLagerEingang.fAnzahlAktuell)) AS Bestand
FROM dbo.tWarenLagerEingang
JOIN dbo.tWarenLagerPlatz ON tWarenLagerEingang.kWarenLagerPlatz = tWarenLagerPlatz.kWarenLagerPlatz
JOIN dbo.tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
WHERE tWarenLagerEingang.fAnzahlAktuell > 0.0
AND tWarenLagerEingang.kArtikel = @Key
GROUP BY tWarenLager.cName,
tWarenLagerPlatz.cName
ORDER BY tWarenLager.cName,
tWarenLagerPlatz.cName
Ich weiß zwar nicht genau, was du vorhast, aber da der Artikelname nicht im GROUP BY enthalten ist, würde ich mal behaupten, dass diese Abfrage nicht das macht, was du erreichen willst ;)

Du kannst das ganze Konstrukt z.B. so um schreiben und dann kann dir jemand der die 1.6 kennt sicherlich sagen, wie du da noch die Kommentare reinbastelst:

SQL:
SELECT
    a.cName AS Artikel, l.cName AS Warenlager, lp.cName AS Lagerplatz,
    CONVERT(money, SUM(le.fAnzahlAktuell)) AS Bestand
FROM
    tArtikelBeschreibung a
    JOIN tWarenLagerEingang le  ON le.kArtikel = a.kArtikel AND le.fAnzahlAktuell > 0.0
    JOIN tWarenLagerPlatz lp ON le.kWarenLagerPlatz = lp.kWarenLagerPlatz
    JOIN tWarenLager l ON lp.kWarenLager = l.kWarenLager
GROUP BY a.cName, l.cName, lp.cName
ORDER BY l.cName, lp.cName, a.cName

Wie gesagt ist deine Frage "Wie kann ich zusätzlich mit SQL die Lagerplatzkommentare abragen?" etwas dürftig ausformuliert.
Man weiß gar nicht genau, was eigentlich dein Ziel ist. Aber generell gilt: Schau dir erstmal die bereits bestehenden Views an, ob da nicht schon was ähnliches dabei ist.
 
  • Gefällt mir
Reaktionen: Mike.H.

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
116
5
Heusenstamm
Ich weiß zwar nicht genau, was du vorhast, aber da der Artikelname nicht im GROUP BY enthalten ist, würde ich mal behaupten, dass diese Abfrage nicht das macht, was du erreichen willst ;)

Du kannst das ganze Konstrukt z.B. so um schreiben und dann kann dir jemand der die 1.6 kennt sicherlich sagen, wie du da noch die Kommentare reinbastelst:

SQL:
SELECT
    a.cName AS Artikel, l.cName AS Warenlager, lp.cName AS Lagerplatz,
    CONVERT(money, SUM(le.fAnzahlAktuell)) AS Bestand
FROM
    tArtikelBeschreibung a
    JOIN tWarenLagerEingang le  ON le.kArtikel = a.kArtikel AND le.fAnzahlAktuell > 0.0
    JOIN tWarenLagerPlatz lp ON le.kWarenLagerPlatz = lp.kWarenLagerPlatz
    JOIN tWarenLager l ON lp.kWarenLager = l.kWarenLager
GROUP BY a.cName, l.cName, lp.cName
ORDER BY l.cName, lp.cName, a.cName

Wie gesagt ist deine Frage "Wie kann ich zusätzlich mit SQL die Lagerplatzkommentare abragen?" etwas dürftig ausformuliert.
Man weiß gar nicht genau, was eigentlich dein Ziel ist. Aber generell gilt: Schau dir erstmal die bereits bestehenden Views an, ob da nicht schon was ähnliches dabei ist.
Danke erst mal. Das Ziel soll sein, wenn ich auf ein Artikel klicke. Soll es bei der eigenen Übersicht mir dann zusätzlich noch den Inhalt der Kommentare anzeigen. Da haben wir Informationen hinterlegt. Für was die Plätze sind.
 

wortek

Offizieller Servicepartner
SPBanner
1. Juli 2016
1.486
302
Landsberg am Lech
Danke erst mal. Das Ziel soll sein, wenn ich auf ein Artikel klicke. Soll es bei der eigenen Übersicht mir dann zusätzlich noch den Inhalt der Kommentare anzeigen. Da haben wir Informationen hinterlegt. Für was die Plätze sind.
Code:
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2' 
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kArtikel = @key
UNION
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2' 
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kVaterArtikel = @key
UNION
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2' 
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kArtikel IN (SELECT tStueckliste.kArtikel FROM tartikel JOIN tStueckliste ON tStueckliste.kStueckliste = tartikel.kStueckliste WHERE tartikel.kArtikel = @key)
ORDER BY tartikel.cArtNr

Screenshot .jpg
 
  • Gefällt mir
Reaktionen: Mike.H.

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
116
5
Heusenstamm
Code:
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2'
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kArtikel = @key
UNION
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2'
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kVaterArtikel = @key
UNION
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2'
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kArtikel IN (SELECT tStueckliste.kArtikel FROM tartikel JOIN tStueckliste ON tStueckliste.kStueckliste = tartikel.kStueckliste WHERE tartikel.kArtikel = @key)
ORDER BY tartikel.cArtNr

Den Anhang 93592 betrachten
Vielen lieben Dank für deine Hilfe. Du bist der beste. Schönen Abend.
 

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
116
5
Heusenstamm
Code:
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2'
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kArtikel = @key
UNION
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2'
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kVaterArtikel = @key
UNION
select    tartikel.cArtNr 'Artikelnummer',
        tWarenLager.cName AS 'Lager',
        cKommentar_1 AS 'Kommentar 1',
        cKommentar_2 AS 'Kommentr 2'
from tWarenLagerPlatzArtikel
JOIN tWarenLagerPlatz ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerPlatzArtikel.kWarenLagerPlatz
JOIN tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
JOIN tartikel ON tWarenLagerPlatzArtikel.kArtikel = tartikel.kArtikel
where kWarenLagerPlatzTyp = 0
    AND (cKommentar_1 IS NOT NULL OR cKommentar_1 != '' OR cKommentar_2 IS NOT NULL OR cKommentar_2 != '')
    AND tartikel.kArtikel IN (SELECT tStueckliste.kArtikel FROM tartikel JOIN tStueckliste ON tStueckliste.kStueckliste = tartikel.kStueckliste WHERE tartikel.kArtikel = @key)
ORDER BY tartikel.cArtNr

Den Anhang 93592 betrachten
 

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
116
5
Heusenstamm
Einen schönen guten Morgen nach Landsberg,
Danke noch mal für den Code. Was ich vergessen habe zu erwähnen ist das wir WMS benutzen und mehrere Lager benutzen.
Daher weine Frage was muss ich ändern das er mir die WMS Lager anzeigt anstatt das Standard Lager.

Ich danke schon mal für Eure Hilfe.
 

Anhänge

  • Lager-Wms.PNG
    Lager-Wms.PNG
    3,4 KB · Aufrufe: 2

wortek

Offizieller Servicepartner
SPBanner
1. Juli 2016
1.486
302
Landsberg am Lech
Einen schönen guten Morgen nach Landsberg,
Danke noch mal für den Code. Was ich vergessen habe zu erwähnen ist das wir WMS benutzen und mehrere Lager benutzen.
Daher weine Frage was muss ich ändern das er mir die WMS Lager anzeigt anstatt das Standard Lager.

Ich danke schon mal für Eure Hilfe.
Code:
SELECT    tWarenLager.cName AS Warenlager,
        tWarenLagerPlatz.cName AS Lagerplatz,
       ROUND(CONVERT(FLOAT, ISNULL(SUM(tWarenLagerEingang.fAnzahlAktuell), 0.0)), 2) AS Bestand
FROM dbo.tWarenLagerEingang
JOIN dbo.tWarenLagerPlatz ON tWarenLagerEingang.kWarenLagerPlatz = tWarenLagerPlatz.kWarenLagerPlatz
JOIN dbo.tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
WHERE    tWarenLagerEingang.fAnzahlAktuell > 0.0
        AND tWarenLagerEingang.kArtikel = @Key
GROUP BY    tWarenLager.cName,
            tWarenLagerPlatz.cName
ORDER BY    tWarenLager.cName,
            tWarenLagerPlatz.cName
 
  • Gefällt mir
Reaktionen: Mike.H.
Ähnliche Themen
Titel Forum Antworten Datum
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Beantwortet #GEFUNDEN# Suche jemand , der uns eine (automatische) SQL Abfrage erstellen kann mit Mail Ausgabe Dienstleistung, Jobs und Ähnliches 2
Neu SQL-Abfrage bei Kundenanlage JTL-Wawi 1.7 2
Neu CSV-Datei direkt in einer SQL-Abfrage verwenden User helfen Usern - Fragen zu JTL-Wawi 3
Neu SQL Abfrage in Excel User helfen Usern - Fragen zu JTL-Wawi 12
Neu SQL Abfrage Artikelbezeichnung auf Englisch für Artikeletikett User helfen Usern - Fragen zu JTL-Wawi 4
Neu Abfrage von Änderungen am Lagerbestand zu einem bestimmten Zeitpunkt in der Vergangenheit JTL Ameise - Eigene Exporte 3
Neu SQL Abfrage wird mehrfach ausgeführt - Ausgabe in der Übersicht falsch Eigene Übersichten in der JTL-Wawi 8
SQL Abfrage via Ameise: Seriennummer u. weitere Daten JTL-Wawi 1.8 0
Neu SQL Abfrage über ODBC für Bewegunghistorie (WMS) Eigene Übersichten in der JTL-Wawi 4
Komplexe SQL Abfrage zu gelieferten Artikeln mit eigenen Feldern - Hilfe gesucht JTL-Wawi 1.8 1
Neu Abfrage der Versandart von der Plattform User helfen Usern - Fragen zu JTL-Wawi 0
SQL Abfrage alle Aufträge ohne Lieferschein JTL-Wawi 1.8 2
Neu gelöst: PHP Abfrage Versandklasse und passendes Bild aussteuern Betrieb / Pflege von JTL-Shop 2
Neu Verschiedene Artikel pro Lagerplatz beschränken JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Neu Lagerplatz mit MHD und Einlagerungsdatum Eigene Übersichten in der JTL-Wawi 1
Neu 5 verschiedene Artikel auf einen Lagerplatz buchen ohne nach jedem Artikel den Lagerplatz zu scannen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1

Ähnliche Themen