Il est vrai que l'affichage n'est pas ce qu'il y a de mieux, de mon point de vue aussi... Mais étant en contrat pro dans une grosse boîte, et pour diverses raisons, je suis obligé de travailler sur cette base de données, qui, pour moi, est plus une usine à gaz qu'autre chose, et je n'ai d'autre choix que de continuer en ce sens, malgré le fait d'en avoir parlé à mon tuteur.
Bref, l'affichage qu'on souhaiterai récupérer c'est que pour chaque numéro de poste, on veut avoir à la fois le nom du poste et la date de mise en service (qui hélas ne pourront être affichés uniquement sur deux colonnes plutôt que trois), comme ceci :
IdObjet | Valeur
1256 | 2003/05/21
| POSTE12
1357 | 2005/06/03
| POSTE13
Pour obtenir le résultat souhaité, j'aurais voulu le faire par requête SQL, car à mon niveau c'est ce qui me paraissait le plus simple, plutôt que de créer un exécutable en vbs attaquant la BDD mysql en liaison ODBC (de la même manière qu'Access), exécutable qui renverrait tout dans un fichier texte avec un format d'affichage en 3 colonnes...
Sans le DISTINCT ON, j'ai en gros, grâce à cette commande le résultat suivant :
SELECT dbo_Materiel.IdObjet, dbo_Materiel.Valeur
FROM dbo_Materiel
WHERE dbo_Materiel.TechRubrique Like '172'
OR dbo_Materiel.TechRubrique Like '121'
GROUP BY dbo_Materiel.IdObjet, dbo_Materiel.Valeur;
Donc en gros le même résultat que tu me proposais :
IdObjet | Valeur
1256 | 2003/05/21
1256 | POSTE12
1357 | 2005/06/03
1357 | POSTE13
Pour ma part, je me serais limité à ce résultat mais, mon tuteur, à nouveau, veut pour plus de clarté qu'on supprime les doublons de la colonne IdObjet, de cette manière :
IdObjet | Valeur
1256 | 2003/05/21
| POSTE12
1357 | 2005/06/03
| POSTE13
Quelle solution serait la meilleure à adopter? Avec le Distinct ON je galère vu que je respecte la syntaxe affichée sur un des rares sites qui parle de cette option (avec le ON), et que malgré tout la commande ne passe pas, et je n'en trouve pas la cause du problème.