Oracle SQL - zapytanie pozwalające scalić wiersze po ID

0

Cześć,

Z poniższego zapytania:

select id, typ_produktu, miary_wewnetrzne,
case when symbol like '760%' then sum(sal-type_number) else null end sum_760,
case when symbol like '860%' then sum(sal-type_number) else null end sum_860 
from 537_MV 
where rep_date = 20180930
and id= 'DP\1601'
and miary_wewnetrzne in ('WN', 'wynik')
and typ_w in( 'RT_SZT', 'brak') 
group by id, symbol, typ_produktu,miary_wewnetrzne,typ_w
;

Otrzymuje

id typ_produktu miary_wewnetrzne sum760 sum860
DP\1601 brak wynik -31 0
DP\1601 brak wynik 0 35
DP\1601 brak wynik 0 49
DP\1601 brak wynik -31 0
DP\1601 AIN WN 0 0

Chciałbym, aby moje zapytanie pozwoliło uzyskać jeden wiersz, gdzie dla danego ID, przypisałoby typ_produktu <> 'brak', czyli w tym przypadku 'AIN', oraz sume na kolumnie sum760, sum860. Kolumna miary_wewnetrzne nie jest istotna i może jej nie być w wyniku zapytania. Bardzo proszę o pomoc

0

powinno zadziałać

SELECT 
  id, 
  max(case when typ_produktu = 'brak' then '' else typ_produktu end) typ_produktu,
  sum(CASE WHEN symbol LIKE '760%' THEN SUM(sal-type_number) ELSE 0 END) sum_760,
  sum(CASE WHEN symbol LIKE '860%' THEN SUM(sal-type_number) ELSE 0 END) sum_860 
FROM 537_MV 
WHERE rep_date = 20180930
AND id= 'DP\1601'
AND miary_wewnetrzne IN ('WN', 'wynik')
AND typ_w IN( 'RT_SZT', 'brak') 
GROUP BY id
0

:(

Wywaliło błąd:

ORA-00937: to nie jest jednogrupowa funkcja grupowa
00937. 00000 - "not a single-group group function"
*Cause:
*Action:
Error at Line: 99 Column: 1

2

nie zauważyłem suma w sumie :)

SELECT 
  id, 
  MAX(CASE WHEN typ_produktu = 'brak' THEN '' ELSE typ_produktu END) typ_produktu,
  SUM(CASE WHEN symbol LIKE '760%' THEN sal-type_number ELSE 0 END) sum_760,
  SUM(CASE WHEN symbol LIKE '860%' THEN sal-type_number ELSE 0 END) sum_860 
FROM 537_MV 
WHERE rep_date = 20180930
AND id= 'DP\1601'
AND miary_wewnetrzne IN ('WN', 'wynik')
AND typ_w IN( 'RT_SZT', 'brak') 
GROUP BY id
0

@abrakadaber: Dziękuje bardzo! Dokładnie o to chodziło :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1