Bom dia pessoal, depois de muito apanhar resolvi o problema, segue abaixo o código da Query, funcionando redondinha.
Valeu pessoal.
CODE
procedure TFConsEstPend.btPesquisaClick(Sender: TObject);
Var TransfData : String;
begin
With FDATA.CORPOPED Do Begin
SQL.Clear;
SQL.Add('SELECT CODBASE, CODSIMILAR,' );
SQL.Add('(SELECT DETTECNICO1 FROM PRODUTOS WHERE CODPRODUTO = CODBASE) AS DESCRICAO, ISNULL(SUM(VENP),0) AS VENP,');
SQL.Add('(SELECT ESTCOMPROMETIDO FROM PRODUTOS WHERE CODPRODUTO = CODBASE) AS PENP,');
SQL.Add('(SELECT ESTOQUE FROM PRODUTOS WHERE CODPRODUTO = CODBASE) AS ESTP,');
SQL.Add('(SELECT ESTOQUE FROM [REMOTO].UNIMIL.DBO.PRODUTOS WHERE CODPRODUTO = CODBASE) AS ESTR,');
SQL.Add('(SELECT ESTCOMPROMETIDO FROM [REMOTO].UNIMIL.DBO.PRODUTOS WHERE CODPRODUTO = CODBASE) AS PENR,');
SQL.Add('ISNULL(SUM(VENR),0) AS VENR');
SQL.Add('FROM (');
SQL.Add('SELECT CODBASE, CODSIMILAR,');
SQL.Add('(SELECT DETTECNICO1 FROM PRODUTOS WHERE CODPRODUTO = CODBASE) AS DESCRICAO,');
SQL.Add(' VENP = CASE ORIGEM');
SQL.Add(' WHEN ''P'' THEN ISNULL(VENDAS,0)');
SQL.Add(' END,');
SQL.Add(' VENR = CASE ORIGEM');
SQL.Add(' WHEN ''R'' THEN ISNULL(VENDAS,0)');
SQL.Add(' END ');
SQL.Add('FROM ( ');
SQL.Add('SELECT CODBASE, CODSIMILAR, ISNULL(SUM(QTDE),0) AS VENDAS, ORIGEM = ''P'' FROM CORPOPED');
SQL.Add('LEFT JOIN CABPED ON CABPED.NUMPEDIDO = CORPOPED.NUMPEDIDO ');
TransfData := FormatDateTime('YYYY/MM/DD', StrToDate (mkData1.Text));
SQL.Add('WHERE CABPED.EMISSAO >= ' + '''' + TransfData + '''' );
TransfData := FormatDateTime('YYYY/MM/DD', StrToDate (mkData2.Text));
SQL.Add('AND CABPED.EMISSAO <= ' + '''' + TransfData + '''' );
SQL.Add('GROUP BY CODBASE, CODSIMILAR ');
SQL.Add('UNION ALL ');
SQL.Add('SELECT * FROM OPENQUERY(REMOTO, ''SELECT CODBASE, CODSIMILAR, ISNULL(SUM(QTDE),0) AS VENDAS, ');
SQL.Add('ORIGEM = ''''R'''' FROM CORPOPED ');
SQL.Add('LEFT JOIN CABPED ON CABPED.NUMPEDIDO = CORPOPED.NUMPEDIDO ');
TransfData := FormatDateTime('YYYY/MM/DD', StrToDate (mkData1.Text));
SQL.Add('WHERE CABPED.EMISSAO >= ''' + QuotedStr ( TransfData ) + ''' ' );
TransfData := FormatDateTime('YYYY/MM/DD', StrToDate (mkData2.Text));
SQL.Add('AND CABPED.EMISSAO <= ''' + QuotedStr ( TransfData ) + ''' ' );
SQL.Add('GROUP BY CODBASE, CODSIMILAR');
SQL.Add(''') ');
SQL.Add(') AS R ' );
SQL.Add(') AS F ');
SQL.Add('GROUP BY CODBASE, CODSIMILAR ');
SQL.Add('ORDER BY CODBASE ');
Open;
End;
end;