Presciso Colocar um Top(1) mas no Left não posso deixar retornar mais que uma linha
da tabela de adiantamentos.
Se alguem puder me ajudar eu agradeço.
Select
Max(a.Codigo_Contrato ) As Codigo_Contrato ,
Max(a.Codigo_Obra ) As Codigo_Obra ,
Max(a.Tipo_Operação ) As Tipo_Operação ,
Max(a.Fisico_Virtual ) As Fisico_Virtual ,
Max(a.Codigo_Professor ) As Codigo_Professor ,
Max(a.Data_Apuração ) As Data_Apuração ,
Max(a.Codigo_Status ) As Codigo_Status ,
Max(a.Data_Prevista ) As Data_Prevista ,
Max(a.Periodo_Data1 ) As Periodo_Data1 ,
Max(a.Periodo_Data2 ) As Periodo_Data2 ,
Max(a.Numero_Registro ) As Numero_Registro ,
Max(a.Numero_Pagamento ) As Numero_Pagamento ,
Sum(a.Qtd_Vendas ) As Qtd_Vendas ,
Sum(a.Valor_Vendas ) As Valor_Vendas ,
Sum(a.Valor_a_Pagar ) As Valor_a_Pagar ,
Max(a.Data_Pagamento ) As Data_Pagamento ,
Max(a.UKey_CPagar ) As UKey_CPagarSSA ,
Max(b.Codigo_Contrato ) As Codigo_Contrato$ ,
Max(b.Codigo_Obra ) As Codigo_Obra$ ,
Max(b.Codigo_Professor ) As Codigo_Professor$ ,
Max(b.Numero_Pagamento ) As Numero_Pagamento$ ,
Max(b.Data_Adiantamento ) As Data_Adiantamento ,
Max(b.Valor ) As Valor ,
Max(b.Residuo ) As Residuo ,
Sum(a.Valor_a_Pagar) - Max(IsNull(b.Valor, 0)) As Valor_Pagamento ,
Abs(Sum(a.Valor_a_Pagar) - Max(IsNull(b.Residuo, 0))) As Valor_ResiduoABS ,
Sum(a.Valor_a_Pagar) - Max(IsNull(b.Residuo, 0)) As Valor_Residuo
From Tab_Direitos_Autorais_Provisões_Pagamentos As a
Left Join Tab_Direitos_Autorias_Adiantamentos As b
On (a.Codigo_Contrato = b.Codigo_Contrato
And IsNull(b.Residuo, 0) <> 0)
Where a.Tipo_Operação = 2
And a.Numero_Pagamento Is Null
And a.UKey_CPagar Is Null
Group By a.Codigo_Contrato