Usuário com melhor resposta
Ajuda com comando

Pergunta
-
Ola pessoal
Estou tentando fazer um select dentro do outro e esta me dando um erro, se alguem pode me ajudar?
set dateformat dmy
select tblwrirecepcao.PK_Recepcao,
Convert(char(10), Convert(date,tblWRIRecepcao.DtPrenotacao,112),103) as Data_Recepcao,
Convert(char(10), Convert(date,tblwrititulos.DataUltimoRegistro,112),103) as Data_Registro,
sum (tblWRIAtosCustasNegocios.Valor1) as Cartorio,
sum (tblWRIAtosCustasNegocios.Valor6) as ISS
from tblwriatos ,
( select tblwrirecepcao.PK_Recepcao, tblwrirecepcao.DtRecolhimentoPrenotacao,
sum (tblwrirecepcao.ValorPrn1) Cartorio,
sum (tblwrirecepcao.ValorPrn6 ) ISS
from tblwrirecepcao
inner join tblwrititulos on tblwrititulos.FK_tblWRIRecepcaoRecepcao = tblwrirecepcao.PK_Recepcao
where tblwrirecepcao.DtRecolhimentoPrenotacao is not null
and tblWRIRecepcao.DtRecolhimentoPrenotacao>'05/05/2017'
and tblwrirecepcao.DtRecolhimentoPrenotacao <'31/05/2017'
group by tblwrirecepcao.PK_Recepcao,tblwrirecepcao.DtCancelamento,tblwrirecepcao.DtRecolhimentoPrenotacao
order by tblwrirecepcao.DtCancelamento asc) As Titulo
inner join tblWRIAtosNegocios on tblWRIAtosNegocios.FK_tblWRIAtos_Id = tblwriatos.PK_Id
inner join tblWRIAtosCustasNegocios on tblWRIAtosCustasNegocios.FK_tblWRIAtosNegocios_Id = tblWRIAtosNegocios.PK_ID
inner join tblwriatostitulos on tblwriatostitulos.FK_tblWRIAtos_Id = tblwriatos.PK_Id
inner join tblWRITitulos on tblwrititulos.FK_tblWRIRecepcaoRecepcao = tblWRIAtosTitulos.FK_tblWRIRecepcaoRecepcao
inner join tblwrirecepcao on tblwrirecepcao.PK_Recepcao = tblwrititulos.FK_tblWRIRecepcaoRecepcao
where tblwrirecepcao.DtPrenotacao >= '07/05/2017'
and tblwrirecepcao.DtPrenotacao <= '30/05/2017'
and tblwrititulos.DataUltimoRegistro is not null
group by tblWRIRecepcao.DtPrenotacao, tblWRIAtos.DataAto,tblwrirecepcao.PK_Recepcao,
tblwrititulos.DataUltimoRegistro
order by tblWRIRecepcao.DtPrenotacao, tblWRIAtos.DataAto,tblwrirecepcao.PK_Recepcao,
tblwrititulos.DataUltimoRegistro
Msg 1033, Level 15, State 1, Line 22
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.
Tem uma forma de manter isso com select e mesmo assim conseguir o resultado?
MCP - MCTS - MCTS AD
- Editado Daniel_Lima quinta-feira, 8 de junho de 2017 20:09 acres
Respostas
-
Deleted
- Marcado como Resposta Guilherme Macedo S segunda-feira, 12 de junho de 2017 13:15
-
Bom dia,
Por falta de retorno esta thread esta encerrada !
Por gentileza, caso necessário abra uma nova thread.
Atenciosamente,
Guilherme Macedo S
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
TechNet Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Daniel_Lima quinta-feira, 5 de dezembro de 2019 14:24
Todas as Respostas
-
Você não pode usar ORDER BY para classificar linhas na tabela derivada pelo motivo indicado na mensagem de erro. A ordem das linhas no conjunto de resultados é controlada por uma cláusula ORDER BY no SELECT externo.
Se tiver mais dúvidas, dá uma olhada nesse link:https://blogs.msdn.microsoft.com/fcatae/2010/04/16/desafio-usando-order-by-dentro-de-uma-view/
- Editado Filipe Baqueta de Castro quinta-feira, 8 de junho de 2017 20:12
-
set dateformat dmy select tblwrirecepcao.PK_Recepcao, Convert(char(10), Convert(date,tblWRIRecepcao.DtPrenotacao,112),103) as Data_Recepcao, Convert(char(10), Convert(date,tblwrititulos.DataUltimoRegistro,112),103) as Data_Registro, sum (tblWRIAtosCustasNegocios.Valor1) as Cartorio, sum (tblWRIAtosCustasNegocios.Valor6) as ISS from tblwriatos , ( select tblwrirecepcao.PK_Recepcao, tblwrirecepcao.DtRecolhimentoPrenotacao, sum (tblwrirecepcao.ValorPrn1) Cartorio, sum (tblwrirecepcao.ValorPrn6 ) ISS from tblwrirecepcao inner join tblwrititulos on tblwrititulos.FK_tblWRIRecepcaoRecepcao = tblwrirecepcao.PK_Recepcao where tblwrirecepcao.DtRecolhimentoPrenotacao is not null and tblWRIRecepcao.DtRecolhimentoPrenotacao>'05/05/2017' and tblwrirecepcao.DtRecolhimentoPrenotacao <'31/05/2017' group by tblwrirecepcao.PK_Recepcao,tblwrirecepcao.DtCancelamento,tblwrirecepcao.DtRecolhimentoPrenotacao ) As Titulo inner join tblWRIAtosNegocios on tblWRIAtosNegocios.FK_tblWRIAtos_Id = tblwriatos.PK_Id inner join tblWRIAtosCustasNegocios on tblWRIAtosCustasNegocios.FK_tblWRIAtosNegocios_Id = tblWRIAtosNegocios.PK_ID inner join tblwriatostitulos on tblwriatostitulos.FK_tblWRIAtos_Id = tblwriatos.PK_Id inner join tblWRITitulos on tblwrititulos.FK_tblWRIRecepcaoRecepcao = tblWRIAtosTitulos.FK_tblWRIRecepcaoRecepcao inner join tblwrirecepcao on tblwrirecepcao.PK_Recepcao = tblwrititulos.FK_tblWRIRecepcaoRecepcao where tblwrirecepcao.DtPrenotacao >= '07/05/2017' and tblwrirecepcao.DtPrenotacao <= '30/05/2017' and tblwrititulos.DataUltimoRegistro is not null group by tblWRIRecepcao.DtPrenotacao, tblWRIAtos.DataAto,tblwrirecepcao.PK_Recepcao, tblwrititulos.DataUltimoRegistro order by tblWRIRecepcao.DtPrenotacao, tblWRIAtos.DataAto,tblwrirecepcao.PK_Recepcao, tblwrititulos.DataUltimoRegistro
Tente dessa forma.
Conforme o Filipe informou, você não pode ter order by em sub-selects
"A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski
-
Deleted
- Marcado como Resposta Guilherme Macedo S segunda-feira, 12 de junho de 2017 13:15
-
Agradeço a ajuda de todos ( obrigado pela paciencia)
Na verdade eu precisava somar os campos Cartorio e ISS da query principal com a subquery, e inicialmente tentei ver se conseguiria pelo menos rodar as duas juntas.
Porem ainda esta ocorrendo o erro na linha 24 e 25
Msg 4104, Level 16, State 1, Line 24
The multi-part identifier "tblwriatos.PK_Id" could not be bound.
Msg 4104, Level 16, State 1, Line 26
The multi-part identifier "tblwriatos.PK_Id" could not be bound.inner join tblWRIAtosNegocios on tblWRIAtosNegocios.FK_tblWRIAtos_Id = tblwriatos.PK_Id inner join tblWRIAtosCustasNegocios on tblWRIAtosCustasNegocios.FK_tblWRIAtosNegocios_Id = tblWRIAtosNegocios.PK_ID inner join tblwriatostitulos on tblwriatostitulos.FK_tblWRIAtos_Id = tblwriatos.PK_Id
Essas linhas nao dao problema se rodar separadamente
MCP - MCTS - MCTS AD
-
-
Bom dia,
Por falta de retorno esta thread esta encerrada !
Por gentileza, caso necessário abra uma nova thread.
Atenciosamente,
Guilherme Macedo S
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
TechNet Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Daniel_Lima quinta-feira, 5 de dezembro de 2019 14:24