Support #8494
ferméPas d'affichage de résultats avec un filtre sur un champ de type integer
0%
Description
Nous avons cette table mgic_hr_function
id integer NOT NULL,
code character varying(40) NOT NULL,
codeold character varying(40),
labelfr character varying(128) NOT NULL,
labelen character varying(128) NOT NULL,
id_mgic_category integer NOT NULL DEFAULT 0,
id_mgic_subcategory integer NOT NULL DEFAULT 0,
id_mgic_positioncategory integer NOT NULL DEFAULT 0,
costcenter character varying(128),
managelevel integer NOT NULL DEFAULT 0,
status integer NOT NULL DEFAULT 0,
_______________________________
Si en SQL je fais la requête suivante
> select * from mgic_hr_function where status=1
--> j'ai bien une liste d'enregistrements (voir copie écran)
Dans mon connecteur JDBC
> Si je demande d'afficher status=0 : J'ai bien mon résultat
> Si je demande d'afficher status=1 : Je n'ai aucun résultat (voir copie écran)
Pas de log d'erreur
Fichiers
Mis à jour par David Lesimple il y a presque 8 ans
- Sujet changé de JBDC Connecteur - Erreur affichage sur un champ de type integer à Pas d'affichage de résultats avec un filtre sur un champ de type integer
- Statut changé de New à Feedback
Je ne reproduis pas le problème (par exemple sur la table st_user et le champ version) en 5.15.5
Mis à jour par Marc Avenel il y a presque 8 ans
Sur le champ managelevel cela fonctionne très bien
c'est le champ juste avant.
C'est pour cela que je ne comprends pas.
C'est sur notre serveur de PRODUCTION
Mis à jour par Nicolas Eysseric il y a presque 8 ans
Quelle est la requête SQL saisie dans l'onglet Requête ? Il y a une jointure, non ?
Mis à jour par Marc Avenel il y a presque 8 ans
Voici la requête:
select f.id as "Ident",CASE WHEN f.id_mgic_category=0 THEN '' ELSE c.labelen END as "Department",CASE WHEN f.id_mgic_category=0 THEN '' ELSE c.labelfr END as "Famille",CASE WHEN f.id_mgic_subcategory=0 THEN '' ELSE coalesce(d.labelen,'') END as "Sub department",CASE WHEN f.id_mgic_subcategory=0 THEN '' ELSE coalesce(d.labelfr,'') END as "Sous famille",f.code as "Codification",coalesce(f.codeold,'') as "Old Codification",concat ('<a href="/silverpeas/File/',f.iddocen,'?ContentLanguage=fr/">',f.labelen,'</a>') as "Job title",concat ('<a href="/silverpeas/File/',f.iddocfr,'?ContentLanguage=fr/">',f.labelfr,'</a>') as "Intitulés de fonction",CASE WHEN f.id_mgic_positioncategory=0 THEN '' ELSE coalesce(e.labelen,'') END as "Position Category<br/>/Grandes Fonctions",coalesce(f.costcenter,'') as "Cost Center<br/>Centre de coût",f.managelevel as "Manage Level",f.status as "Status",f.datechange as "Date updated" from mgic_hr_function f, mgic_hr_category c,mgic_hr_category d,mgic_hr_category e where f.id_mgic_category = c.id AND f.id_mgic_subcategory = d.id AND f.id_mgic_positioncategory=e.id AND f.status=0 order by c.labelen,d.labelen,f.labelen;
Mis à jour par Nicolas Eysseric il y a presque 8 ans
- Tracker changé de Bug à Support
- Navigateur changé de Firefox à Tous
Il est normal que le filtre des résultats sur status = 1 ne ramène rien puisque dans la requête vous limitez les résultats à status = 0.
Le filtre porte sur les résultats retournés par la requête (ajout d'une expression à la clause Where existante).
Mis à jour par Nicolas Eysseric il y a presque 8 ans
Est-ce qu'il y a un problème au niveau de Silverpeas finalement ?
Mis à jour par Marc Avenel il y a presque 8 ans
- Statut changé de Feedback à Closed
- La clause Where qui contient f.status=0 ne peut donner un affichage avec status = 1
Toutes mes excuses.