Jump to content

winscheil

Newbie
  • Content Count

    2
  • Joined

  • Last visited

Everything posted by winscheil

  1. Hallo, ich habe folgende SQL Auswertung: Artikel Grundpreis Staffelmenge Staffelpreis ABC 20 5 18 ABC 20 50 15 ABC 20 100 12 DEF 50 50 40 XYZ 30 20 25 XYZ 30 100 20 Und bräuchte die Staffelmengen und Preise je Artikel augeteilt in Spalten in einer Zeile: Artikel Grundpreis SM1 SP1 SM2 SP2 SM3 SP3 SM4 SP4 ABC 20 5 18 50 15 100 12 NULL NULL DEF 50 50 40 NULL NULL NULL NULL NULL NULL XYZ 30 20 25 100 20 NULL NULL NULL NULL Ich hoffe, ich habe mein Problem verständlich dargestellt. Kann mir dazu einer helfen?
  2. Hallo, ich habe eine Tabelle mit folgendem Aufbau: AUFTRAG, START_TAG, ENDE_TAG, PRO_WOCHE ABC, 2018-05-07, 2018-09-07, 38699,19 DEF, 2018-03-05, 2018-04-27, 3215,15 XYZ, 2018-07-23, 2018-11-09, 11315,35 Da ist der Auftrag, ein Starttag, ein Endtag und der Geldwert, der Pro Woche zwischen Starttag und Endtag anfällt. Jetzt will ich eine Abfrage machen, die mir pro Woche in dem Zeitraum zwischen Starttag und Endtag eine neue Zeile erstellt. Ich überprüfe den Starttag, ob er kleiner gleich dem Endtag ist und erhöhe den Starttag immer um eine Woche und vergleiche dann wieder. Solange der Starttag nach den Erhöhungen kleiner als der Endtag ist, wird eine neue Zeile pro Woche erstellt. Bsp: AUFTRAG, DATUM, PRO_WOCHE ABC, 2018-05-07, 38699 ABC, 2018-05-14, 38699 ABC, 2018-05-21, 38699 ... ABC, 2018-09-03, 38699 Das habe ich so gemacht: declare @zaehler int set @zaehler = 0 while @zaehler <=(selectDATEDIFF(WEEK,START_TAG,ENDE_TAG) from QUELLTABELLE where AUFTRAG ='123') BEGIN insert into ZIELTABELLE select AUFTRAG,DATEADD(WEEK,@zaehler, START_TAG) as DATUM, PRO_WOCHE from QUELLTABELLE where AUFTRAG ='123' set @zaehler += 1 END Das funktioniert jetzt für einen Eintrag der obigen Quelltabelle. Aber ich weiß jetzt nicht, wie ich das auf die ganze Quelltabelle ausbaue, dass für alle Einträge/Zeilen in der Quelltabelle neue Einträge/Zeilen in die Zieltabelle geschrieben werden. Ich hoffe, ich habe alles verständlich erklärt. Kann mir da jemand helfen?
×
×
  • Create New...