Bonjour à tous,
Après avoir parcouru les documentations et le forum, je suis tombée sur plusieurs éventuelles solutions à mon problème mais je n'arrive pas au bon résultat.
En gros, j’ai besoin de faire un WHERE 'que' s’il y a une valeur dedans.. Or, je pense que ce n’est pas possible
Ma requête de base:
mon problème est que ce select ne m'affiche que les articles qui ont un Type. ceux qui ne sont pas reinseigné ne s'affichent pas..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 SELECT DISTINCT goo.gco_good_id, --si cest en français on affiche: 'Type : ' || NVL (dic66.dic_description, '') || CHR (13) || 'Ø Métrique : ' || TO_CHAR (NVL (att.gat_float_18, 0), '9990.99') || ' mm / Pas : ' || TO_CHAR (NVL (att.gat_float_64, 0), '9990.99'), --si cest en anglais on affiche: 'Type : ' || NVL (dico.dit_descr, '') -- affiche la traduction en anglais || CHR (13) || 'Metric Ø : ' || TO_CHAR (NVL (att.gat_float_18, 0), '9990.99') || ' mm / Fitch : ' || TO_CHAR (NVL (att.gat_float_64, 0), '9990.99') FROM gco_good goo left join (gco_good_attribute att left join (dic_gco_attribute_free_66 dic66 left join dico_description dico on dic66.dic_gco_attribute_free_66_id = dico.dit_code) on att.dic_gco_attribute_free_66_id = dic66.dic_gco_attribute_free_66_id ) on goo.gco_good_id = att.gco_good_id where goo.goo_major_reference LIKE 'ECR%' and dico.pc_lang_id = 3 AND dico.dit_table = 'DIC_GCO_ATTRIBUTE_FREE_66'
et ceci à cause de mon where.
J'ai essayé avec les variantes "case when"
J'ai aussi essayé de creuser du coté du select mais évidement ça joue pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 where dico.dit_table = case when dico.dit_table ='DIC_GCO_ATTRIBUTE_FREE_66' then 'DIC_GCO_ATTRIBUTE_FREE_66' else null end ...
Je travaille sur une BD Oracle et j'utilise le TOAD si jamais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select 'Type : ' || NVL ( (case when dico.pc_lang_id = 3 then dico.dit_descr else 'false' end ) , '') from ...
Merci d'avance pour votre aide et pour votre temps.
Cristina!
Partager