Bonjour,

Je cherche a faire une requete qui necessite probableme des sous-requetes, mais je n'arrive pas au resultat souhaite.

Ma structure est la suivante:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
CREATE TABLE TYPE_DOCUMENT
( TYPE_ID INTEGER
  TYPE_NAME VARCHAR
  CONSTRAINT PK_DOCUMENT PRIMARY KEY(TYPE_ID)
)
 
INSERT INTO TYPE_DOCUMENT (TYPE_ID, TYPE_NAME)
VALUES (1, 'Text')
INSERT INTO TYPE_DOCUMENT (TYPE_ID, TYPE_NAME)
VALUES (2, ' Tableur')
 
CREATE TABLE DOCUMENT
( DOC_ID INTEGER
  DOC_NAME VARCHAR
  DOC_TYPE_ID INTEGER,
  CONSTRAINT PK_DOCUMENT PRIMARY KEY(DOC_ID)
)
 
INSERT INTO Document (DOC_ID, DOC_NAME, DOC_TYPE_ID)
VALUES (1, 'Document1', 1)
INSERT INTO Document (DOC_ID, DOC_NAME, DOC_TYPE_ID)
VALUES (2, 'Document2', 2)
INSERT INTO Document (DOC_ID, DOC_NAME, DOC_TYPE_ID)
VALUES (3, 'Document3', 2)
 
CREATE TABLE USER
( USER_ID INTEGER
  USER_FIRST_NAME VARCHAR
  USER_LAST_NAME VARCHAR
    CONSTRAINT PK_DOCUMENT PRIMARY KEY(USER_ID)
)
 
INSERT INTO USER (USER_ID, USER_FIRST_NAME, USER_LAST_NAME)
VALUES (1, 'Pierre', 'Dupond')
INSERT INTO USER (USER_ID, USER_FIRST_NAME, USER_LAST_NAME)
VALUES (2, 'Jean', 'Durant')
 
CREATE TABLE SUIVI
( SUIVI_ID INTEGER
  SUIVI_EXPEDITEUR_ID INTEGER
  SUIVI_DESTINATAIRE_ID INTEGER
  SUIVI_NUMERO INTEGER
  SUIVI_DOCUMENT_ID INTEGER
  SUIVI_COMMENT VARCHAR
    CONSTRAINT PK_DOCUMENT PRIMARY KEY(SUIVI_ID)
)
 
INSERT INTO Suivi (SUIVI_ID, SUIVI_EXPEDITEUR_ID, SUIVI_DESTINATAIRE_ID,SUIVI_NUMERO,SUIVI_DOCUMENT_ID,SUIVI_COMMENT )
VALUES (1, 1, 2,1,1,'Jean merci de revoir ce doc.')
INSERT INTO Suivi (SUIVI_ID, SUIVI_EXPEDITEUR_ID, SUIVI_DESTINATAIRE_ID,SUIVI_NUMERO,SUIVI_DOCUMENT_ID,SUIVI_COMMENT )
VALUES (2, 2, 1,2,1, 'Doc revu et corrige')
INSERT INTO Suivi (SUIVI_ID, SUIVI_EXPEDITEUR_ID, SUIVI_DESTINATAIRE_ID,SUIVI_NUMERO,SUIVI_DOCUMENT_ID,SUIVI_COMMENT )
VALUES (4, 2, 1,1,2, 'Pierre merci de verifier les chiffres du tableur 1')
INSERT INTO Suivi (SUIVI_ID, SUIVI_EXPEDITEUR_ID, SUIVI_DESTINATAIRE_ID,SUIVI_NUMERO,SUIVI_DOCUMENT_ID,SUIVI_COMMENT )
VALUES (5, 2, 1,1,3, 'Pierre merci de verifier les chiffres du tableur 2')
Pour faire simple: On a des documents qui transitent entre des gens, et on a une table de suivi qui 'log' chaque transition.

Je cherche a avoir une requete qui me donne quel est le status de chaque document, c'est a dire quel est le dernier suivi du document et qui est responsable:

DocumentID Nom TypeDocument NumSuivi Responsable
------------------------------------------------------------------------------------------------
1 Document1 Text 2 Pierre Dupond
2 Document2 Tableur 1 Jean Durant
3 Document3 Tableur 1 Jean Durant

Pour le moment je fais dans le code de mon application car je n'arrive pas a trouver une requete qui me fait ca en une seule fois. Donc je suis oblige de faire une premiere requete avec un Max(SUIVI_NUMERO) et apres de retrouver les informations associes (Responsable, Type de doc, etc).

Quelqu'un as-t-il la solution?
Merci.