Zum Inhalt springen

Raaico

Mitglieder
  • Gesamte Inhalte

    7
  • Benutzer seit

  • Letzter Besuch

  1. NEIN ES SOLL NICHTS BERECHNET WERDEN das ist ja das dumme es soll nur verschoben werden aber wir haben uns jetzt dazu entschlossen dafür ein kleines programm zu schreiben über C# lässt sich das wesentlich leichter umsetzen denn ich will einfach nur alle Mengen und deren dazugehörigen Rabatte in einer zeile zu der entsprechenden artikelnummer haben wie obens chon beschrieben da gibt es kein chema F das sind nur zufällig gleiche daten also beispiel ich habe in Spalte NR 2 oder auch 3 mal die gleiche nummer so sollen die rabatte und mengen als menge/rabatt1,2 und 3 hinter der Spalte NR auftauchen und einfach nur aus n (max 5) gleichen einträgen unter NR einer gemacht werden und es sollen dann alle hintereinander aufgereit werden habs mal als bild beschrieben sollte jetzt anhand dieser random beispielzahlen zu verstehen sein also wenn dir was einfällt bitter gerne SQL befehl ansonsten kein problem mach ichs in C# is halt nur bissel umständlicher dann für den kunden aber damit muss er klar kommen ist nur ein klick merh dann
  2. also das mit dem "nehme ich mal an" ist zwar logisch auch das man diese datentypen nimmer aber ich bin an diese Datenbank des programms gerichtet und über die logik der datenbank sind oft genug gespräche und naja meist fällt die logik dabei untrn tisch aber das ist ne andere geschichte ich habe mich entschieden es einfacher zu machen jedenfalls die quelle zu vereinfachen ich habe die Quelltabelle einfach als #tmp gemacht und somit ist die Quelle klar daann ist es nur noch das problem das richtig einzubringen dass er mir das einzeigt was ich will SIEHE OBEN erster beitrag CREATE TABLE #tmp( Artikelnr varchar(30), Menge decimal(15,3), Rabatt decimal(5,2)) Dann werden die daten von oben da eingelesen. das wären dann 4016 Zeilen. das hier habe ich bis jetzt als grundform gefunden kann man da was draus machen wenn ja wie? Ich glaube mitlerweile weißt du ja wie ichs haben will^^ SELECT * FROM #tmp PIVOT ( SUM(VaribleValue) FOR [Variable] IN ([Sales],[Expenses],[Taxes],[Profit]) ) AS p Ich finds übrigens echt klasse dass du mir hilfst danke auf jeden fall schonmal
  3. ja das ist erfüllt siehe ganz oben mein erster beitrag da ist ja die tabelle im rohzustand also der join davon besser gesagt denn das sind rabatte die für jeden kunden und jede kundengruppe zählt diese rabatte sollen für listen und so genommen werden als "Werbung" und da sind nur die sinnvoll die für jeden Kunden gelten. also das ist erfüllt denn die liste von der ausgegangen werden soll ist ja die erste oben und die wurde damit erzeugt
  4. also theoretisch könnten es unendlich viele also dynamisch sein aber der Kunde hat mir gerade bestätigt dass es maximal 5 Einträge pro Artikel sind also könnte man das nun schon fest auf 5 staffeln stellen ich habe da auch schon mal n bissel rum probiert aber ich glaube der kommt nicht so recht mit dem Join der ja noch dazu kommt klar oder ich habe bei meiner syntax was falsch was gut sein kann da ich noch nicht lange mit datenbanken arbeite und am anfang meinr ausbildung zum fachinformatiker stehe und diese aufgabe zum lösen bekommen habe SELECT sum(MENGE*(1-abs(sign(MENGE-1)))) as MENGE1, sum(RABATT*(1-abs(sign(RABATT-1)))) as RABATT1, sum(MENGE*(1-abs(sign(MENGE-2)))) as MENGE2, sum(RABATT*(1-abs(sign(RABATT-2)))) as RABATT2, sum(MENGE*(1-abs(sign(MENGE-3)))) as MENGE3, sum(RABATT*(1-abs(sign(RABATT-3)))) as RABATT3, sum(MENGE*(1-abs(sign(MENGE-4)))) as MENGE4, sum(RABATT*(1-abs(sign(RABATT-4)))) as RABATT4 FROM RABATT INNER JOIN RABATTSTAFFEL ON RABATT.RABATTNR = RABATTSTAFFEL.RABATTNR WHERE KUNDENNR = 0 AND KUNDENGRUPPE = '' GROUP BY ARTIKELNR ORDER BY ARTIKELNR Ich weiß nicht ob sich einige jetzt nach diesem CODE die Haare raufen oder obs gar nicht so falsch ist jedenfalls ist das ergebnis totaler MÜLL Das ergebnis wie gesagt totaler MÜLL 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 3.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 0.0000 0.000000 3.0000 0.000000 0.0000 das hatte ich aus dem Beispiel von dbwizard raus genommen und mal angepasst aber wahrscheinlich falsch angepasst Also es sollen anchher 5 Mengen mit 5 Rabatten da sein und Zellen die nicht gefüllt werden können ruhig NULL sein aber ich komm da nicht weiter wenn da einer ne idee hat wäre das echt genial
  5. mir würde ja auch gerne das gekochte essen reichen es braucht nicht vorgekaut sein aber bitte auch nicht tief gefrohren^^ genau da sehe ich auch das problem ich weiß nicht ob es in den tausenden daten auch mal vorkommen kann dass zb 5 rabatte hinterlegt sind und somit muss der das irgendwie alleine checken. ich werde mal nach dem neuen vorgeschlagenen stichwort suchen und hoffe dass ich da mal was gescheites finde um das endlich fertig zu bekommen.
  6. kannst du das stichwort auch näher erklären durch das ganze rumprobiere bin ich voll leer und raff gar nichts mehr
  7. Hallo zusammen ich such mich schon seit Stunden dusslig und dämlich aber finde nichts gescheites. Ich will(muss) forlgendes hin bekommen. Erstmal zu meiner Beispielquelle NR MENGE RABATT 101076 5.000 5.00 101077 5.000 5.00 101082 5.000 5.00 101082 15.000 10.00 101083 15.000 10.00 101083 5.000 5.00 101084 5.000 5.00 101084 15.000 10.00 101085 15.000 10.00 101085 5.000 5.00 101086 5.000 5.00 101086 15.000 10.00 101087 15.000 10.00 101087 5.000 5.00 Ich möchte nun das Folgendermaßen haben NR MENGE1 RABATT1 MENGEn RABATTn 101076 5.000 5.00 101077 5.000 5.00 101082 5.000 5.00 15.000 10.00 101083 15.000 10.00 5.000 5.00 101084 5.000 5.00 15.000 10.00 101085 15.000 10.00 5.000 5.00 101086 5.000 5.00 15.000 10.00 101087 15.000 10.00 5.000 5.00 Da wo also die NR gleich ist möchte ich aus n Zeile eine machen und die MENGE und den RABATT hinten anfügen was sich dann dementsprechend vergrößern soll, wenn die NR'n mehrmals vorkommen. ich Hoffe ich habe es verständich ausgedrückt und ihr könnt mir helfen Der absolute Traum wäre nun noch, wenn die Menge dann in der zeile aufsteigend sortiert ist aber ich denke das kann man schon vorher im Select einbauen eh man die zusammenwürfelt. das wäre der befehl womit ich die Obere Tabelle erzeugt habe SELECT RABATT.ARTIKELNR, RABATTSTAFFEL.MENGE, RABATTSTAFFEL.RABATT FROM RABATT INNER JOIN RABATTSTAFFEL ON RABATT.RABATTNR = RABATTSTAFFEL.RABATTNR WHERE KUNDENNR = 0 AND KUNDENGRUPPE = '' ORDER BY ARTIKELNR Gruß Raaico

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...