Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leonasser

Select com Join

Recommended Posts

olá pessoal, estou precisando de uma ajuda nessa consulta. Quando executo a query da o seguinte erro: "Server: Msg 8114, Level 16, State 5, Line 1Error converting data type varchar to real."desde já agradeço a ajuda

Tabela Alunos       Identifier                 - int       DataCad                  - smalldatetime       DataAlt                    - smalldatetime        Nome                      - nvarchar         NumMatricula           - float       CPF                         - nvarchar       Bolsa                       - nvarchar       Foto                         - int       SeqAgrupadora         - nvarchar       Financ_PadraoBolsa1 - realTabela Matriculas              Identifier - int       Aluno      - intTabela Inclusoes       Identifier - int       Matricula  - intTabela Pagtos          Identifier    - int       Matricula    - int       DataPagto  - smalldatetime       DataVenc   - smalldatetimeSELECT     Identifier, DataCad, DataAlt, Nome, NumMatricula, CPF, ISNULL(Bolsa, 'nenhuma') AS Bolsa1, Foto, ISNULL(SeqAgrupadora, 'nenhuma') AS SeqAgrupadoraS,                          (SELECT     COUNT(Identifier)                            FROM          Matriculas                            WHERE      (Matriculas.Aluno = Alunos.Identifier)) AS NumMatriculas,                          (SELECT     COUNT(Inclusoes.Identifier)                            FROM          Matriculas RIGHT JOIN                                                   Inclusoes ON Matriculas.Identifier = Inclusoes.Matricula                            WHERE      (Matriculas.Aluno = Alunos.Identifier)) AS NumInclusoes,                          (SELECT     COUNT(Pagtos.Identifier)                            FROM          Matriculas RIGHT JOIN                                                   Pagtos ON Matriculas.Identifier = Pagtos.Matricula                            WHERE      (Matriculas.Aluno = Alunos.Identifier)) AS NumPagtos,                          (SELECT     COUNT(Pagtos.Identifier)                            FROM          Matriculas RIGHT JOIN                                                   Pagtos ON Matriculas.Identifier = Pagtos.Matricula                            WHERE      (((Matriculas.Aluno) = (Alunos.Identifier)) AND ((Pagtos.DataPagto) IS NULL) AND ((Pagtos.DataVenc) <= getdate ()))) AS NumPagtosAbertos, ISNULL(Financ_PadraoBolsa1, 'nenhum') AS Financ_PadraoBolsa1FROM         AlunosWHERE     (Nome LIKE '%leonardo%'OR                      Nome IS NULL)AND (NumMatricula LIKE '10' OR                      NumMatricula IS NULL) AND (ISNULL(Bolsa, 'nenhuma') LIKE '%OVG%' OR                      ISNULL(Bolsa, 'nenhuma') IS NULL) AND (ISNULL(SeqAgrupadora, 'nenhuma') LIKE '%VEST%' OR                      ISNULL(SeqAgrupadora, 'nenhuma') IS NULL) AND (ISNULL(Financ_PadraoBolsa1, 'nenhum') LIKE '50'OR                      ISNULL(Financ_PadraoBolsa1, 'nenhum') IS NULL) ORDER BY Nome, NumMatricula

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

 

copiei sua query toda e colei no meu queryanalizer para tentar achar o erro e percebi que está muito mal identada e com palavras grudadas como por exemplo FROMWHERE.

Se na verdade estiver assim seu código pode estar acarretando uma porção de problemas.

Se for o caso, faça uma refatoração no seu código identando ele melhor e poste novamente em caso de erro.

 

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

DAW, eu consegui descobrir o erro, o problema er nessa parte do código

IsNull(Alunos.Financ_PadraoBolsa1, 'nenhum') AS Financ_PadraoBolsa1

onde eu passava um parâmetro varchar 'nenhum' e o campo é real.Obrigado pela resposta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aaah sim, como você postou no outro tópico né!

Que bom então...

 

Qualquer coisa estamos aí

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.