Avec l'éditeur de requête il faut que tu fasses 2 requête2
1ère Requête liste des voiture pour l'IDTYPE = 1 pour l'exemple je l'appelle TaSousRequete
2ème Requête sur FINITIONS et TaSousRequete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT VOITURES.ID_F_S AS ID_F_S FROM TYPE, VOITURES WHERE TYPE.IDTYPE = VOITURES.IDTYPE AND ( TYPE.IDTYPE = 1 )
Mais le plus simple est de faire comme te dit Michel d'utiliser avec la fonction hExecuteRequeteSQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT FINITIONS.NOM AS LIB_FINITIONS, FINITIONS.ID_FINITION AS ID_F, TaSousRequete.ID_F_S AS ID_F_S FROM FINITIONS, TaSousRequete WHERE TaSousRequete.ID_F_S AS ID_F_S LIKE CONCAT('%',FINITIONS.ID_FINITION,'<TAB>','%')
Ceci dit en HyperFile je ne sais pas s'il va aimer le "as F" de la sous-requête (HF ne respecte pas toutes les syntaxes SQL)
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 cnxCONNEXION est une Connexion // + la définition de la connexion si connexion nécessaire sdRQ1 est une Source de Données sMa_requete est une chaîne sMa_requete = [ SELECT FINITIONS.NOM AS LIB_FINITIONS, FINITIONS.ID_FINITION AS ID_F, F.ID_F_S AS ID_F_S FROM FINITIONS, ( SELECT VOITURES.ID_F_S AS ID_F_S FROM TYPE, VOITURES WHERE TYPE.IDTYPE = VOITURES.IDTYPE AND ( TYPE.IDTYPE = 1 ) ) as F WHERE F.ID_F_S AS ID_F_S LIKE CONCAT('%',FINITIONS.ID_FINITION,'<TAB>','%') ] // Exécution de la requête (si connexion pas nécessaire enlever cnxCONNEXION) SI PAS HExécuteRequêteSQL(sdRQ1,cnxCONNEXION,hRequêteSansCorrection,sMa_requete) ALORS Erreur("Problème dans la requête xxx."+HErreurInfo); RETOUR // parcours du résultat de la requête HLitPremier(sdRQ1) TANTQUE PAS HEnDehors(sdRQ1) // ton traitement HLitSuivant(sdRQ1) FIN
Partager