2010-12-15 3 views
1

В Oracle 8i я хочу, чтобы одно значение trntotamt имело max(trndt) путем группировки trnmemenrolno.ora 00979: не группа по выражению

Я пытаюсь со следующими SQL-запрос, но его предоставление error- ORA 00979: не группа по выражению

Когда я добавляю все столбцы, указанные в SELECT заявлении, чем его получение много записей с одним trnmemenrolno. Pls посоветует, что делать ....

SELECT TRNMEMENROLNO, MAX(TRNDT),TRNTOTAMT 
FROM TRNSAC1 
WHERE TRNTYPE='R' 
GROUP BY TRNMEMENROLNO 

ответ

1
SELECT TRNMEMENROLNO, TRNDT,TRNTOTAMT 
FROM TRNSAC1 
WHERE TRNTYPE='R' 
AND (TRNMEMENROLNO, TRNDT) IN 
(SELECT TRNMEMENROLNO, MAX(TRNDT) 
    FROM TRNSAC1 
    WHERE TRNTYPE='R' 
    GROUP BY TRNMEMENROLNO 
) 
+0

Уважаемый г-н Тони, Его дает идеальный выход, который я хочу. Много Thnx. MaheshA ..... –