Bonjour,
Mes utilisateurs disposent de formulaires, chacun ayant leur ID, leur permettant de soumettre de 1 à 10 codes.
Ils peuvent revenir sur un formulaire existant et le mettre à jour (ajout, suppression de codes) : une nouvelle version est alors créée pour ce même ID.
Tout cela est stocké dans une TABLE1 : ID | Version | Codes
Il existe une autre table permettant de connaitre la dernière version de chaque formulaire, TABLE2 : ID | Version
Ex (1/2) :
TABLE1
TABLE2
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 ID | Version | Codes 001 | 1 | 123 001 | 2 | 123 001 | 2 | 456 001 | 3 | 123 001 | 3 | 222 001 | 3 | 789 001 | 4 | 135 001 | 4 | 222 001 | 4 | 246 002 | 1 | 111 002 | 1 | 222 002 | 2 | 222 002 | 2 | 789 003 | 1 | 222 003 | 1 | 444 003 | 1 | 789
ID | Version
001 | 4
002 | 2
003 | 1
Je cherche à mettre en place un "formulaire de recherche" dans lequel les utilisateurs peuvent chercher de 1 à 10 codes, et remonter les ID des formulaires dont la dernière version contient au moins tous les codes demandés.
Ex (2/2) :
L'utilisateur cherche les formulaires avec les codes 222 et 789
001 ne doit pas remonter (car sa dernière version, la 4, n'en contient qu'un des 2)
002 doit remonter (car sa dernière version, la 2, contient ces 2 codes)
003 doit remonter (car sa dernière version, la 1, contient ces 2 codes, plus un 3e, ce qui "ne dérange pas")
Je ne parviens pas à créer cette requête avec mes quelques connaissances; j'ai la possibilité de passer la liste des codes demandés en paramètre de cette requête.
Comment récupérer l'information "dernière version" des formulaires ? avec un "MAX" dans TABLE1 ou avec une jointure sur TABLE2 ?
Dans l'idéal, je souhaiterais une unique requête, mais la création d'une fonction, vue, index, etc. peut être envisagé si les performances le nécessitent.
Je vous remercie d'avance pour votre aide et vos conseils au néophyte que je suis.
Bonne journée à tous !
Guillaume
Partager