Bonjour,
merci pour les réponses, cela fonctionne très bien pour rechercher un ou plusieurs éléments...
en ce qui concerne le distinct, ce n'est pas ce que je cherchais mais ça répond à une autre question que je n'avais pas encore posé 
donc très bien!
pour le distinct , ce que je cherche à faire est
si j'ai ces lignes:
ID_MEDIA ID_PRODUCT MONTH_MEDIA_NUM LIST_BANNERS
10000 629805 201501 BANNER_LIST(34406592, 34567375)
10000 629453 201501 BANNER_LIST(34406592, 34567375)
10000 629805 201502 BANNER_LIST(34406592)
10000 629805 201503 BANNER_LIST(34406592)
10000 629878 201503 BANNER_LIST(34406592)
10000 629805 201504 BANNER_LIST(34406592, 34567379)
10000 629889 201504 BANNER_LIST(34406592, 34567379)
10000 622593 201504 BANNER_LIST(34406592, 34567379)
10000 629805 201505 BANNER_LIST(34406592, 34567379)
10000 629805 201505 BANNER_LIST(34406592, 34567375, 34567379)
j'aimerai obtenir :
LIST_BANNERS
BANNER_LIST(34406592, 34567375)
BANNER_LIST(34406592)
BANNER_LIST(34406592, 34567379)
BANNER_LIST(34406592, 34567375, 34567379)
plutôt que
LIST_BANNERS
BANNER_LIST(34406592, 34567375,34567379)
Merci.

Envoyé par
mnitu
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 34 35 36 37 38 39
|
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
SQL>
SQL> select *
2 from WEB_PLAN_MEDIA_MONTH_FRED
3 where list_banners multiset intersect BANNER_LIST(34406592, 34567379) = BANNER_LIST(34406592, 34567379)
4 /
ID_MEDIA ID_PRODUCT MONTH_MEDIA_NUM TOTALUNITE LIST_BANNERS
----------- ----------- --------------- ----------- ------------
10000 629805 201504 <Object>
10000 629805 201505 <Object>
SQL>
SQL> Select id_media,
2 id_product,
3 month_media_num,
4 Cast (collect(column_value) As BANNER_LIST)
5 From (
6 Select distinct t.id_media,
7 t.id_product,
8 t.month_media_num,
9 b.column_value
10 from WEB_PLAN_MEDIA_MONTH_FRED t,
11 Table (list_banners) b
12 )
13 Group By id_media,
14 id_product,
15 month_media_num
16 /
ID_MEDIA ID_PRODUCT MONTH_MEDIA_NUM CAST(COLLECT(COLUMN_VALUE)ASBA
----------- ----------- --------------- ------------------------------
10000 629805 201501 <Object>
10000 629805 201502 <Object>
10000 629805 201503 <Object>
10000 629805 201504 <Object>
10000 629805 201505 <Object>
SQL> |
Partager