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
| with q_select do
begin
Close;
(* SQL.Clear;
SQL.Add('SELECT colxcol, cdexent,CAST(0 AS SMALLINT) AS REGROUPER, NUMXCOL FROM ENTXRES E JOIN COLXRES C ON NUMXENT=NUMXCOL');
SQL.Add('WHERE CODXENT =:cod ');
SQL.Add('and TOUXENT =:tou ');
SQL.Add('and MARXENT =:mar ');
SQL.Add('and (REFXCOL is not null) group by CDEXENT, COLXCOL, NUMXENT, NUMXCOL'); *)
SQL.Clear;
SQL.Add('WITH C1 AS (select CDEXENT,NUMXENT,MAX(ROWNUM) AS RN from ENTXRES GROUP BY CDEXENT,NUMXENT)');
SQL.Add('select COLXCOL, E.CDEXENT,CAST(0 AS SMALLINT) AS REGROUPER ,MAX(c1.RN) AS COLCOULEUR, NUMXCOL');
SQL.Add('from ENTXRES E JOIN COLXRES C ON E.NUMXENT=C.NUMXCOL JOIN C1 ON C1.CDEXENT=E.CDEXENT AND C1.NUMXENT=E.NUMXENT');
SQL.Add('where CODXENT =:cod ');
SQL.Add('and TOUXENT =:tou ');
SQL.Add('and MARXENT =:mar ');
SQL.Add('and refxcol is not null');
SQL.Add('and FLAXCOL ='+QuotedStr('7') ); // <-plus joli pour pas se planter avec les ''
SQL.Add('group by E.CDEXENT, C.COLXCOL, E.NUMXENT, NUMXCOL');
SQL.Add('order by E.CDEXENT, C.COLXCOL');
ParamByName('cod').AsString := zx_cli;
ParamByName('tou').AsString := x_tournee;
ParamByName('mar').AsString := x_transport;
tryquery1(q_select,'open','Erreur affichage cmd regroupables (MS42 -008)',4);
end; |
Partager