ignari
Goto Top

SQL Abweichung Bestellpreis

Hallo zusammen,

ich bin blutiger Anfänger in MS SQL und stehe vor einer Herausforderung, die meine Basics übersteigt.

Ich haber eine aktuelle Bestellung (Tabelle Bestellungen) mit Artikeln(Tabelle Bestellpositionen).
Nun soll folgendes abgefragt werden
- ob es zu diesen Artikeln(ArtikelNr. in den Letzten 365 Tagen bereits Bestellungen gab
- welches die jeweils neueste Bestellung(BestellNr) zu diesen Artikeln ist
- ob der Bestellpreis(Preis) der Positionenen(ArtikelNr) der aktuellen Bestellung um mehr als +-20% zum Preis der jeweils letzten Bestellung abweicht
- die aktuelle Bestellung soll dabei ignoriert werden

Ich hoffe, dass die Informationen ausreichend sind, um ein paar Tips zu erhalten.


Viele Grüße und vielen Dank für jeglichen Hinweis

Content-Key: 4019271749

Url: https://administrator.de/contentid/4019271749

Ausgedruckt am: 24.09.2022 um 16:09 Uhr

Mitglied: Crusher79
Crusher79 22.09.2022 um 11:49:19 Uhr
Goto Top
Hallo,

ja sowas geht. So müssten wir hier aber das Raten anfangen: Spalten mit ID, Nr, Artikelbezeichnung? Wie lauten denn die Überschriften?

Der Tip wäre sonst: schreib ein Query und fertig.

Wenn wir dir helfen oder einen Code Schnipsel rein reichen sollen brauchen wir mehr Informationen übern den Aufbau der Tabellen.

Im ERP System nennt sich sowas auch Material-Bewegung. Es gibt also mitunter noch eine weitere Tabelle die man anzapfen kann. Als Basis würden die von dir genannte für ein Query aber reichen.

mfg Crusher
Mitglied: em-pie
em-pie 22.09.2022 aktualisiert um 12:02:25 Uhr
Goto Top
Moin,

als erstes benötigst du die Tabellenstruktur der Tabellen
  • Artikel (für die Stammdaten)
  • Bestellpositionen
  • Bestellung

Die kannst du ja beispielsweise mal mit
SELECT TOP 50 * FROM artikel
abfragen

Dann musst du dich mich
beschäftigen.

Arbeite dich damit mal ein und dann können wir dir helfen - sofern du Scriptbeispiele postest

Gruß
em-pie
Mitglied: ignari
ignari 22.09.2022 um 12:04:57 Uhr
Goto Top
Zitat von @Crusher79:

ja sowas geht. So müssten wir hier aber das Raten anfangen: Spalten mit ID, Nr, Artikelbezeichnung? Wie lauten denn die Überschriften?

Wenn wir dir helfen oder einen Code Schnipsel rein reichen sollen brauchen wir mehr Informationen übern den Aufbau der Tabellen.

Im ERP System nennt sich sowas auch Material-Bewegung. Es gibt also mitunter noch eine weitere Tabelle die man anzapfen kann. Als Basis würden die von dir genannte für ein Query aber reichen.

mfg Crusher

Ich bin mir nicht sicher, ob ich Dein Kommentar korrekt deute.
Die Tabellen sind über die BestellNr miteinander verbunden. Join konnte ich also über B.BestellNr und P.BestellNr(fkey) umsetzen.
Abgefragt werden sollen die Spalten:
BestellNr - PONR., ArtikelNr. - PANR, BestellPreis - PPRC

Weitere Tabellen sollten nicht relevant sein.
Mitglied: ukulele-7
ukulele-7 22.09.2022 um 12:28:23 Uhr
Goto Top
Mitglied: ukulele-7
ukulele-7 22.09.2022 um 12:34:13 Uhr
Goto Top
PS: Das kann aber mit vielen Daten je nach Index richtig laufzeitintensiv werden.
Mitglied: ignari
ignari 22.09.2022 um 13:11:42 Uhr
Goto Top
Ich werde mich einmal daran versuchen, vielen Dank.
Mitglied: ukulele-7
ukulele-7 22.09.2022 um 13:43:19 Uhr
Goto Top
Es gibt da sicher noch Optimierungsbedarf aber erstmal muss das laufen. Z.B. fällt mir jetzt spontan ein das auch Bestellungen neuer als die aktuelle Bestellung herangezogen werden. Auch würde ich nicht 365 Tage sondern 1 Jahr wählen oder diese Einschränkung ganz entfallen lassen zu Gunsten eines angezeigten Datums der letzten Bestellung. Es gibt viele Möglichkeiten zum Feintuning.