Hilfe bei Oracle 10g

Guten Tag,

hoffe, dass ihr mir helfen könnt.
hab eine Spalte in einem view, das das Datum als Ergebnis liefert.ich werde am besten das Problem graphisch darstellen, dass es deutlicher wird.

CREATE OR REPLACE FORCE VIEW „Name“(w,M,Q,Gültigab,Gültigbis…)
From…
Where Table.„Gültigbis“ > SYSDATE
ORDER BY TABLE2 M;
liefert dies View:
w Mnr Q Gültigab Gültigbis
1425 4254 100 12.01.2007 01.12.2999
1425 4254 100 11.12.2010 01.12.2999

will jetzt in meinem view nur 1 zeile mit Höchter Datumswert angezeigt wird.Wenn eine Matnr nur aus einem zeile besteht soll die als Ergebnis liefern unabhängig von der Zeit.
Vielen dank im voraus.

Hi!

CREATE OR REPLACE FORCE VIEW
„Name“(w,M,Q,Gültigab,Gültigbis…)

select w,M,Q,max(Gültigab),Gültigbis…

From…
Where Table.„Gültigbis“ > SYSDATE

group by w,M,Q,Gültigbis …

ORDER BY TABLE2 M;

liefert dann nur noch:

w Mnr Q Gültigab Gültigbis
1425 4254 100 11.12.2010 01.12.2999

Oder mittels Sub-Select … (where gueltigbis = (selec max(…))

Grüße,
Tomh

Hey Tom,
vielen dank für deine Antwort.
ich habe vorhin mit MAX(Gültigab) probiert liefert aber das gewünschte ergebnis nicht.hab mein View vielleicht nicht vollständig vorgestellt.Also:
CREATE OR REPLACE FORCE VIEW
„Name“(w,M,Q,Gültigab,Gültigbis…)
select w,M,Q,max(Gültigab),Gültigbis…
From…
Where Table.„Gültigbis“ > SYSDATE

group by w,M,Q,Gültigbis …
HAVING (((„tab1“.„Typ“) = ‚w‘)
AND (((„T_b“.„Q“) > 0)
OR ((„TA“.„o“) = ‚ja‘)))
ORDER BY TABLE2 M;
was ist vielleicht nicht sagte, dass im view eine Matnr mit verschiedenen Q oder gleich genauso bei typ aber nur bei einem matnr M spalte diese verschiedenen Datums anzeigt, will nur der jungste Datum vom Gültigab rauskriegen egalt ob die sätze doppelt sind hauptsache das jungste datum.

w Mnr Q Gültigab Gültigbis
1425 4254 100 11.12.2010 01.12.2999
1431 4254 0 11.12.2010 01.12.2999
1425 4254 100 02.12.2007 01.12.2999
1425 4254 100 11.12.2010 01.12.2999

will die dritte zum beispiel weg, weil das datum nicht mehr aktuelle.

kann mir bitte jemand sagen, was für fehler hab hier mein SQL-Statement
kommt dieser Fehler ORA-00934: Gruppenfunktion ist hier nicht zulässig

wenn ich bei select MAX(DATE),…,…
from inner join
wehre G > SYSDATE
GROUP BY MAX(DATE),…,…,…
Having
Order by Date

vielen Dank

Hi!

kann mir bitte jemand sagen, was für fehler hab hier mein
SQL-Statement
kommt dieser Fehler ORA-00934: Gruppenfunktion ist hier nicht
zulässig

wenn ich bei select MAX(DATE),…,…
from inner join
wehre G > SYSDATE
GROUP BY MAX(DATE),…,…,…
Having
Order by Date

Weil das max eine Aggregatfunktion ist, der ein group by zugrunde liegt, sprich: Du kannst das Group-By ermittelt den Max-Wert und so kann dieser nicht in das Group-By einbezogen werden.

Grüße,
Tomh

hi;
HAB DIE cODE KOMPILIERT OHNE FEHLER ABER ZEIGT MIT KEINE DATENSÄTZE VON M;
WHERE („Gültigbis“ = (SELECT MAX(„Gültigbis“) FROM TABELLE))
WEI? JEMAND VIELLEICHT; WORA ES LIEGT DANKE