Usuário com melhor resposta
Dúvida na passagem de parâmetros para function

Pergunta
-
Tenho uma função com alguns parâmetros de entrada. Acontece, que numa query que fiz no meu sistema, essa função eu necessito fazer um Left Join com ela. Até aí beleza. O que passa é que na passagem do parâmetro, 3 parâmetros eu ainda não os tenho, pois eles seriam carregados a partir da query. Então eu os carreguei no join esses parãmetros, não na cláusula ON do Join, mas nos parâmetros e está dando erro.
query.Append(" FROM RETORNO_ANALISE_CONTAS RAC WITH(NOLOCK) ");
query.Append(" LEFT JOIN FX_RETORNA_PAGO_MAIOR(RAC.ID_ITEM,RAC.ID_CONTA,RAC.ID_LOTE,@COD_EMS,@ID_PRESTADOR)AS FX on FX.ID_ITEM = RAC.ID_ITEM ");Veja que RAC.ID_ITEM, RAC.ID_CONTA e RAC.ID_LOTE, são parâmetros que vem direto da query acima e dá erro. Como eu faço para carregar esses caras da RAC(Tabela do join com a função)?
Respostas
-
Deleted
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
Deleted
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
Deleted
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
pnet,
Na verdade você pode utilizar o Cross Apply como Operador para junção de dados entre Select e Funciton!!!!
SELECT DeptID, DeptName, DeptMgrID, EmpID, EmpLastName, EmpSalary FROM Departments d CROSS APPLY dbo.GetReports(d.DeptMgrID) ;
As observações do José Diz, são regras necessárias para que o Plano de Execução seja capaz de realizar o processamento da query.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
Deleted
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
José,
Concordo utilizando uma função InLine ou Scalar este problema não ocorre, já em uma Multi-Statement como teremos um conjunto de linhas sendo retornadas teremos este problema.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
Deleted
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:50
-
Deleted
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:50
-
Bom dia pnet,
Caso alguma sugestão passada resolva seu problema não esqueça de marcar como resposta para fechar a sua Thread.
Att,
Giovani Cruzara – Microsoft Contingent Staff
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
Msdn Community Support
Por favor, lembre-se de “Marcar como Resposta” as respostas 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 Giovani Cr terça-feira, 24 de dezembro de 2013 13:50
Todas as Respostas
-
Deleted
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
-
Deleted
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
-
-
Deleted
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
-
pnet,
Na verdade você pode utilizar o Cross Apply como Operador para junção de dados entre Select e Funciton!!!!
SELECT DeptID, DeptName, DeptMgrID, EmpID, EmpLastName, EmpSalary FROM Departments d CROSS APPLY dbo.GetReports(d.DeptMgrID) ;
As observações do José Diz, são regras necessárias para que o Plano de Execução seja capaz de realizar o processamento da query.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
Deleted
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
José,
Concordo utilizando uma função InLine ou Scalar este problema não ocorre, já em uma Multi-Statement como teremos um conjunto de linhas sendo retornadas teremos este problema.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:51
-
Deleted
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:50
-
Deleted
- Sugerido como Resposta Giovani Cr segunda-feira, 23 de dezembro de 2013 13:02
- Marcado como Resposta Giovani Cr terça-feira, 24 de dezembro de 2013 13:50
-
Bom dia pnet,
Caso alguma sugestão passada resolva seu problema não esqueça de marcar como resposta para fechar a sua Thread.
Att,
Giovani Cruzara – Microsoft Contingent Staff
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
Msdn Community Support
Por favor, lembre-se de “Marcar como Resposta” as respostas 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 Giovani Cr terça-feira, 24 de dezembro de 2013 13:50