Beantwortet

SQL Abrage Artikel und Lieferantenartikelnummer mit Felder Gültig_bis


Benutzerebene 1
  • Häufiger Teilnehmer
  • 13 Antworten

Hallo zusammen,

 

ich möchte Artikel und LieferantenArtikelnummer (Bestellnummer) mit den jeweiligen Preisgültigkeit EK + VK abfragen.

  1. Problem: L-Artikelnummer zeigt es Nr. an die einem anderen Artikel zugeordnet sind
  2. Problem: Preisgültigkeit zeigt es nicht richtig an

SELECT a.nummer AS Artikelnummer, e.bestellnummer, e.gueltig_bis AS Einkaufspreis_gueltig_bis, v.gueltig_bis AS Verkaufspreis_gueltig_bis
FROM artikel a
LEFT JOIN einkaufspreise e ON a.ID = e.artikel
LEFT JOIN verkaufspreise v ON a.ID = v.artikel

 

Ich hoffe irgendjemand kann mir helfen?

Danke

Engin

 

 

icon

Beste Antwort von Daniel Schmidtchen 21 March 2023, 08:00

Original anzeigen

12 Antworten

Benutzerebene 7
Abzeichen +5

Hallo zusammen,

 

ich möchte Artikel und LieferantenArtikelnummer (Bestellnummer) mit den jeweiligen Preisgültigkeit EK + VK abfragen.

  1. Problem: L-Artikelnummer zeigt es Nr. an die einem anderen Artikel zugeordnet sind
  2. Problem: Preisgültigkeit zeigt es nicht richtig an

SELECT a.nummer AS Artikelnummer, e.bestellnummer, e.gueltig_bis AS Einkaufspreis_gueltig_bis, v.gueltig_bis AS Verkaufspreis_gueltig_bis
FROM artikel a
LEFT JOIN einkaufspreise e ON a.ID = e.artikel
LEFT JOIN verkaufspreise v ON a.ID = v.artikel

 

Ich hoffe irgendjemand kann mir helfen?

Danke

Engin

 

 

Hey @Engin das sieht erstmal nicht verkehrt aus. Problem wird sein, dass du mehrere Einträge je Artikel bekommen wirst. Aber generell ist das SQL ok. 

Falls du nicht zurecht kommst, schau dir doch mal die fertigen Reports hier an, da sind einige mit EK/VK-Preisen und Lieferantendaten dabei. 

https://xendoit.de/xentral-reports-berichte/

Beste Grüße,
Daniel

Benutzerebene 1

Hallo Daniel,

vielen Dank für deine Antwort, grundsätzlich habe ich kein Problem mit dem kauf solcher Reports, aber ich möchte genau das haben ,wie beschrieben, ich glaube das fehlt nur noch eine Kleinigkeit um die richtigen Daten zu bekommen. 

Wenn mehrere Einträge vorhanden sind, ist das ja richtig, aber die Abfrage bringt falsche Daten.

 

Gruß

Engin

 

Benutzerebene 7
Abzeichen +5

Ok. Wie schon geschrieben, bei meinen Daten kommen da korrekte Ergebnisse mit deinem SQL 1:1 übernommen:
 

 

Benutzerebene 1

und bei sieht es so aus…. 

für mein Verständnis, sollte es 2 oder max. 4 Einträge haben, da wir nur 2 Einträge im EK und 2 Einträge im VK haben.

Alle anderen Daten sind zuviel und falsch:

 

Benutzerebene 3
Abzeichen

und bei sieht es so aus…. 

für mein Verständnis, sollte es 2 oder max. 4 Einträge haben, da wir nur 2 Einträge im EK und 2 Einträge im VK haben.

Alle anderen Daten sind zuviel und falsch:

 

Hallo @Engin 

Falls ihr EKs/VKs eingetragen hattet, die dann gelöscht wurden, sind die trotzdem noch in der Datenbank. 

Falls das der Fall ist, kannst du die Einträge ausschließen:

WHERE (e.geloescht <> 1 OR e.geloescht IS NULL)
AND (v.geloescht <> 1 OR v.geloescht IS NULL)

Benutzerebene 1

Hallo @Dennis Hiefer 

vielen Dank für deine Hilfe, auf so etwas muss man zuerst drauf kommen ….

jetzt stimmen die Artikelnummer mit den Bestellnummer, aber ich habe einfach zu viele Datensätze, oder kann das sein, siehe screenshot, 

Hinterlegt sind 4 Daten im EK (auch alte Daten) und im VK auch 4 Daten.

Aber im SQL sind 28 Datensätze: 

 

Benutzerebene 3
Abzeichen

jetzt stimmen die Artikelnummer mit den Bestellnummer, aber ich habe einfach zu viele Datensätze, oder kann das sein, siehe screenshot

 @Engin So ist das leider nicht zu erkennen.

Kannst du die Spalten “e.id AS e_id” und “v.id AS v_id” hinzufügen? Dann ist genau ersichtlich, welche Einträge Duplikate sind.

Benutzerebene 1

habe die zwei spalten hinzugefügt

 

Benutzerebene 3
Abzeichen

@Engin Man sieht, dass es 7 verschiedene Einträge bei den Verkaufspreisen sind, die dem Artikel zugeordnet sind. Daher 4 EK x 7 VK = 28.

Benutzerebene 1

@Dennis Hiefer die Einträge sieht man dann wahrscheinlich im Xentral nicht oder!?

und hast du zufällig für das hier auch eine Lösung?

 

Benutzerebene 3
Abzeichen

@Dennis Hiefer die Einträge sieht man dann wahrscheinlich im Xentral nicht oder!?

und hast du zufällig für das hier auch eine Lösung?

Nicht ohne zu wissen, welche Einträge die “falschen” sind.

Wenn du das Modul Datenbank Ansicht öffnest und dort in den Verkaufspreisen nach der Artikel ID filterst, siehst du alle Einträge. Die Ansicht in den Artikeln enthält nicht alles (zB keine gelöschten). Vielleicht kannst du dann herausfinden, welche Einträge uninteressant sind und diese systematisch via SQL ausschließen.

 

Benutzerebene 1

Danke @Dennis Hiefer 

Antworten