![]() |
PL/SQL Frage!
Hallo zusammen,
habe folgendes Problem: In einer (Oracle) Tabelle gibt es folgende 4 Felder: Artikel_NR, Artikel_Bez, Verkauf_Menge, Verkauf_Dat, Verkaeufer_Name Jetzt möchte ich pro Artikel die letzten 5 Verkäufe (mit allen Infos) und den ersten Verkauf sehen. Wie stelle ich das am Besten an??? Danke für eure Hilfe! lg |
um dein problem besser zu verstehen:
ein artikel wurde zb. 269 verkaut, du willst jetzt anhand des datums also folgende ausgabe bekommen: VKNR ... Art_NR ... Artikel_Bez ........ VK_Menge ... Verkauf_Dat ... VK_Name 269 .... 4711 ..... Köllnisch-Wasser ... 250 ........ 23.01.2007 .... Charly 268 .... 4711 ..... Köllnisch-Wasser ... 110 ........ 12.01.2007 .... Hannes 267 .... 4711 ..... Köllnisch-Wasser ... 380 ........ 08.01.2007 .... Jutta 266 .... 4711 ..... Köllnisch-Wasser ... 630 ........ 19.12.2006 .... Sandra 265 .... 4711 ..... Köllnisch-Wasser ... 180 ........ 17.12.2006 .... Heinz 1 ...... 4711 ..... Köllnisch-Wasser ... 100 ........ 01.03.1997 .... Chefin |
Eine Möglichkeit wäre:
(SELECT * FROM (SELECT * FROM TabellenName ORDER BY Verkauf_Dat DESC) WHERE ROWNUM < 6) UNION ALL (SELECT * FROM (SELECT * FROM TabellenName ORDER BY Verkauf_Dat ASC) WHERE ROWNUM<2) Vl. gehts schöner auch, ka. |
Ja so ungefähr brauch ich das. Danke.
Nur, es gibt in dieser Tabelle nicht nur einen Artikel sondern xxxxx. Womit das mit den rownums nicht ganz so funktioniert => Liefert nur die letzten 5, aber nicht die letzten fünf PRO Artikel ....... Andere/Zusätzliche Ideen ????? lg |
*) selektiere die daten sortiert nach art-nr. (beliebig) und datum (absteigend)
*) mach einen loop über die gelieferten sätze *) gib dir die sätze mit zähler in (1, 2, 3, 4, 5, gesamt-anzahl an sätzen zu diesem artikel) aus ... [gesamt-anzahl an sätzen zu diesem artikel mußt du separat ermitteln] *) gruppenwechsel bei nächstem artikel nicht vergessen |
hab da jetzt schnell mal was runtergetippt - und bedingt getestet.
Code:
set serveroutput on gibt sicherlich interessantere lösungsmöglichkeiten auch noch ;) ... |
Hi,
danke. Hab das mittlerweile allerdings anders gelöst. Erzeug mir eine neue Tabelle in der ich mithilfe der LEAD Funktionen pro Artikel genau EINEN Datensatz mit allen Infos reinschreibe. Also in etwa so: Artikel_NR, Artikel_Bez, DAT_LETZTER_VK, MENGE_LETZTER_VK, VERK_LETZTER_VK, DAT_VORLETZTER_VK, MENGE_VORLETZTER_VK, VERK_VORLETZTER_VK, usw. bishin zu DAT_ERSTER_VK, MENGE_ERSTER_VK, VERK_ERSTER_VK. Aus dieser Tabelle lese ich dann einfach aus. Gibt zwar sicherlich elegantere Methoden, aber es funzt...... Danke für eure Hilfe. lg |
Alle Zeitangaben in WEZ +2. Es ist jetzt 03:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag