Bonjour,
j'ai créé une table de cette manière:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| CREATE or replace TYPE BANNER_LIST AS TABLE OF NUMBER
/
CREATE TABLE ADEXPR03.WEB_PLAN_MEDIA_MONTH_FRED
(
ID_MEDIA NUMBER(10,0) NOT NULL,
ID_PRODUCT NUMBER(10,0) NOT NULL,
MONTH_MEDIA_NUM NUMBER(6,0) NOT NULL,
TOTALUNITE NUMBER(10,0) NULL,
LIST_BANNERS BANNER_LIST
)
NESTED TABLE LIST_BANNERS STORE AS WEB_PLAN_MEDIA_MONTH_TAB
TABLESPACE DATAWEB01ADEXPR03
NOLOGGING
PCTFREE 10
PCTUSED 0
INITRANS 1
MAXTRANS 255
STORAGE(BUFFER_POOL DEFAULT)
NOPARALLEL
CACHE
NOROWDEPENDENCIES
/ |
quelques lignes dans cette table:
ID_MEDIA ID_PRODUCT MONTH_MEDIA_NUM LIST_BANNERS
10000 629805 201501 BANNER_LIST(34406592, 34567375)
10000 629805 201501 BANNER_LIST(34406592, 34567375)
10000 629805 201502 BANNER_LIST(34406592)
10000 629805 201503 BANNER_LIST(34406592)
10000 629805 201503 BANNER_LIST(34406592)
10000 629805 201504 BANNER_LIST(34406592, 34567379)
10000 629805 201505 BANNER_LIST(34406592, 34567375, 34567379)
- comment faire en pl/sql pour ne retrouver que les lignes où il n'y a que les valeurs (34406592, 34567379)
du genre
1 2
| select * from ADEXPR03.WEB_PLAN_MEDIA_MONTH_FRED
where list_banners='34406592, 34567379'/ |
et qu'il n'y ai que la ligne "10000 629805 201504 BANNER_LIST(34406592, 34567379)" qui ressorte
- comment faire un distinct en pl/sql pour éliminer les doublons
afin d'avoir au final:
1 2
| select distinct ID_MEDIA ID_PRODUCT MONTH_MEDIA_NUM LIST_BANNERS from ADEXPR03.WEB_PLAN_MEDIA_MONTH_FRED
where list_banners='34406592, 34567379'/ |
ID_MEDIA ID_PRODUCT MONTH_MEDIA_NUM LIST_BANNERS
10000 629805 201501 BANNER_LIST(34406592, 34567375)
10000 629805 201502 BANNER_LIST(34406592)
10000 629805 201503 BANNER_LIST(34406592)
10000 629805 201504 BANNER_LIST(34406592, 34567379)
10000 629805 201505 BANNER_LIST(34406592, 34567375, 34567379)
Merci, je débute avec les nested, et votre aide est précieuse.
Partager