Bonjour,
Je souhaite combiner 2 étapes de mon code en écrivant une sous-requête, mais j'ai rencontré une Erreur de syntaxe, pouvez vous s'il vous plait m'aider à comprendre pourquoi ça ne fonctionne pas? Merci d'avance.
Etape 1 :
Etape 2 :Code:
1
2
3
4
5
6
7
8
9 Proc sql; Create table OPPO_BASE2 as select *, COUNT(id_opportunite_tech) AS COUNT_id_oppo_tech from Oppo_base1 group by id_opportunite_tech having calculated COUNT_id_oppo_tech >1 order by id_opportunite,date_debut_effet,date_fin_effet; quit;
Combiner ces 2 étapes :Code:
1
2
3
4
5
6
7
8
9
10 proc sql; CREATE TABLE Oppo_base3 AS select t1.*, t2.nature_identifiant, t2.code_acteur, t2.date_debut_effet as Dt_debut_acteur, t2.date_fin_effet as Dt_fin_acteur from OPPO_BASE2 t1 left join Oppo_acteur as t2 on t1.ID_OPPORTUNITE= t2.id_piste_opp; QUIT;
Journal :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 PROC SQL; CREATE TABLE Oppo_base2 AS select t1.*, t2.nature_identifiant, t2.code_acteur, t2.date_debut_effet as Dt_debut_acteur, t2.date_fin_effet as Dt_fin_acteur from (select *, COUNT(id_opportunite_tech) AS COUNT_id_oppo_tech from Oppo_base1 group by id_opportunite_tech having calculated COUNT_id_oppo_tech >1 order by id_opportunite,date_debut_effet,date_fin_effet) as t1 left join Oppo_acteur as t2 on t1.ID_OPPORTUNITE= t2.id_piste_opp; QUIT;
Code:
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 PROC SQL; 27 CREATE TABLE Oppo_base2 AS 28 select t1.*, 29 t2.nature_identifiant, 30 t2.code_acteur, 31 t2.date_debut_effet as Dt_debut_acteur, 32 t2.date_fin_effet as Dt_fin_acteur 33 from 34 (select *, 35 COUNT(id_opportunite_tech) AS COUNT_id_oppo_tech 36 from Oppo_base1 37 group by id_opportunite_tech 38 having calculated COUNT_id_oppo_tech >1 39 order by id_opportunite,date_debut_effet,date_fin_effet) as t1 left join Oppo_acteur as t2 on t1.ID_OPPORTUNITE= _____ 22 76 39 ! t2.id_piste_opp; ERROR 22-322: Erreur de syntaxe, l une des valeurs suivantes est attendue : !, !!, &, ), *, **, +, -, /, <, <=, <>, =, >, >=, AND, EQ, EQT, EXCEPT, GE, GET, GT, GTT, INTERSECT, LE, LET, LT, LTT, NE, NET, NOT, OR, OUTER, UNION, ^, ^=, |, ||, ~, ~=. ERROR 76-322: Syntax error, statement will be ignored. NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 40 41 QUIT;