Hallo zusammen,
als Vorschau wieviele verschiedene Chargen an Rohware ich für ein zu produzierendes Produkt haben verwende ich folgende Abfrage:
Das funktioniert unter Artikel auch problemlos. Ich wollte nun die gleiche Abfrage auch für die Beschaffung umbauen. Allerdings habe ich hier in Problem: Die abgeänderte Abfrage liefert nur ein Ergebnis, wenn exakt eine Rohware auf Lager ist. Habe ich mehrere verschiedene Chargen kommt das Ergebnis leer zurück:
Ich bin etwas mit meinem Latein am Ende, hat jemand ne Idee woran das liegen könnte?
als Vorschau wieviele verschiedene Chargen an Rohware ich für ein zu produzierendes Produkt haben verwende ich folgende Abfrage:
Code:
SELECT tArtikel.cArtNr AS Artikelnummer,
CAST(tWarenLagerEingang.fAnzahlAktuell AS float) AS Bestand,
FLOOR(tWarenLagerEingang.fAnzahlAktuell / (SELECT fAnzahl FROM tStueckliste
JOIN tArtikel AS Kind ON Kind.kArtikel = tStueckliste.kArtikel
JOIN tArtikel AS Vater ON Vater.kArtikel = tStueckliste.kVaterArtikel
WHERE Kind.cArtNr = CONCAT ((SELECT tArtikel.cArtNr from tArtikel
WHERE tArtikel.kArtikel =@Key),'-RW')
AND Vater.cArtNr = CONCAT ('PROD-',(SELECT tArtikel.cArtNr from tArtikel
WHERE tArtikel.kArtikel =@Key)))) AS Produzierbar,
tWarenLagerEingang.cChargenNr AS Charge,
tWarenLagerEingang.dMHD AS MHD,
tWarenLagerPlatz.cName AS Lagerort
FROM tArtikel
INNER JOIN tWarenLagerEingang ON tWarenLagerEingang.kArtikel = tArtikel.kArtikel
INNER JOIN dbo.tWarenLagerPlatz ON dbo.tWarenLagerPlatz.kWarenLagerPlatz = dbo.tWarenlagereingang.kWarenLagerPlatz
WHERE tArtikel.cArtNr =
CONCAT ((SELECT tArtikel.cArtNr from tArtikel
WHERE tArtikel.kArtikel =@Key),'-RW')
AND dbo.tWarenlagereingang.fAnzahlaktuell > 0
ORDER BY MHD ASC
Das funktioniert unter Artikel auch problemlos. Ich wollte nun die gleiche Abfrage auch für die Beschaffung umbauen. Allerdings habe ich hier in Problem: Die abgeänderte Abfrage liefert nur ein Ergebnis, wenn exakt eine Rohware auf Lager ist. Habe ich mehrere verschiedene Chargen kommt das Ergebnis leer zurück:
Code:
SELECT tArtikel.cArtNr AS Artikelnummer,
CAST(tWarenLagerEingang.fAnzahlAktuell AS float) AS Bestand,
FLOOR(tWarenLagerEingang.fAnzahlAktuell / (SELECT fAnzahl FROM tStueckliste
JOIN tArtikel AS Kind ON Kind.kArtikel = tStueckliste.kArtikel
JOIN tArtikel AS Vater ON Vater.kArtikel = tStueckliste.kVaterArtikel
WHERE Kind.cArtNr = CONCAT ((SELECT tLieferantenBestellungPos.cArtNr from tLieferantenBestellungPos
WHERE tLieferantenBestellungPos.kLieferantenbestellung = @Key),'-RW')
AND Vater.cArtNr = CONCAT ('PROD-',(SELECT tLieferantenBestellungPos.cArtNr from tLieferantenBestellungPos
WHERE tLieferantenBestellungPos.kLieferantenbestellung = @Key)))) AS Produzierbar,
tWarenLagerEingang.cChargenNr AS Charge,
tWarenLagerEingang.dMHD AS MHD,
tWarenLagerPlatz.cName AS Lagerort
FROM tArtikel
INNER JOIN tWarenLagerEingang ON tWarenLagerEingang.kArtikel = tArtikel.kArtikel
INNER JOIN dbo.tWarenLagerPlatz ON dbo.tWarenLagerPlatz.kWarenLagerPlatz = dbo.tWarenlagereingang.kWarenLagerPlatz
WHERE tArtikel.cArtNr =
CONCAT ((SELECT tLieferantenBestellungPos.cArtNr from tLieferantenBestellungPos
WHERE tLieferantenBestellungPos.kLieferantenbestellung = @Key),'-RW')
AND dbo.tWarenlagereingang.fAnzahlaktuell > 0
ORDER BY MHD ASC
Ich bin etwas mit meinem Latein am Ende, hat jemand ne Idee woran das liegen könnte?