1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
SQL> WITH mytable AS
2 (SELECT 'C' TYPE, 1000233 f_id, 54874 c_id
3 FROM DUAL
4 UNION ALL
5 SELECT 'C', 1000233, 54875 c_id
6 FROM DUAL
7 UNION ALL
8 SELECT 'C', 1000233, 54876 c_id
9 FROM DUAL
10 UNION ALL
11 SELECT 'C', 1000233, 54877 c_id
12 FROM DUAL
13 UNION ALL
14 SELECT 'C', 1000234, 54875 c_id
15 FROM DUAL)
16 SELECT TYPE, f_id, c_id,
17 CASE
18 WHEN c_id = MIN (c_id) OVER (PARTITION BY f_id)
19 THEN 'C'
20 ELSE 'A'
21 END res
22 FROM mytable;
T F_ID C_ID R
- ---------- ---------- -
C 1000233 54874 C
C 1000233 54875 A
C 1000233 54876 A
C 1000233 54877 A
C 1000234 54875 C
SQL> |
Partager