Hallo Forum
Habe eigentlich ein lächerliches Thema, das mich aber schon viel Zeit gekostet hat.
Folgende Tabelle:
T_TRAD_UPE_SB mit folgenden Spalten:
Jetzt möchte ich mit Update das Feld max = 1 setzen, bei den Datensätzen (es können mehrere DS mit gleichem Wert sein) die in der Gruppe(GROUP BY Z_TLN, UPE_QUELLE, GUELTIG_AB) den maximalen UPE haben.
Ich schaffe es nicht, den Subselect so zu formulieren, dass ich die ID´s der betroffenen Datensätze (UPE_PK) mit dem höchten UPE der Gruppe bekomme.
also so ungefähr wie:
update T_TRAD_UPE_SB t1
SET t1.MAX = 1
WHERE t1."UPE_PK" = t2."UPE_PK"
AND
t1."UPE" IN (SELECT Max(t2.UPE) FROM T_TRAD_UPE_SB t2 GROUP BY t2."Z_TLN", t2."UPE_QUELLE", t2."GUELTIG_AB") ;
Vielen Dank für einen kurzen Tip...
Atlantis
Habe eigentlich ein lächerliches Thema, das mich aber schon viel Zeit gekostet hat.
Folgende Tabelle:
T_TRAD_UPE_SB mit folgenden Spalten:
- UPE_PK
- Z_TLN
- GUELTIG_AB
- CREATED_BY
- CREATED_ON
- LAST_UPDATE_BY
- LAST_UPDATE_ON
- UPE_QUELLE
- UPE
- LATEST
- MAX
- MIN
Jetzt möchte ich mit Update das Feld max = 1 setzen, bei den Datensätzen (es können mehrere DS mit gleichem Wert sein) die in der Gruppe(GROUP BY Z_TLN, UPE_QUELLE, GUELTIG_AB) den maximalen UPE haben.
Ich schaffe es nicht, den Subselect so zu formulieren, dass ich die ID´s der betroffenen Datensätze (UPE_PK) mit dem höchten UPE der Gruppe bekomme.
also so ungefähr wie:
update T_TRAD_UPE_SB t1
SET t1.MAX = 1
WHERE t1."UPE_PK" = t2."UPE_PK"
AND
t1."UPE" IN (SELECT Max(t2.UPE) FROM T_TRAD_UPE_SB t2 GROUP BY t2."Z_TLN", t2."UPE_QUELLE", t2."GUELTIG_AB") ;
Vielen Dank für einen kurzen Tip...
Atlantis