Ir para conteúdo

Arquivado

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

Daniel John Causer

[Resolvido] Defeito em subquery com inner join

Recommended Posts

Bom dia, caros colegas da comunidade.

 

A alguns dias que me deparei com o desafio de montar um relatório em um BD caixa preta.

Após estudar a base minuciosamente, cheguei na sequinte query:

select distinct
      convert(varchar,a.COD_VALOR) as "Nome_Documento",
      convert(varchar, b.COD_VALOR) as "Numero_Processo",
      convert(varchar,d.COD_VALOR) as "Data_Prevista",
      convert(varchar,c.COD_VALOR) as "Nome_Usuario",
      convert(varchar,f.COD_VALOR) as "Diciplina"
from FICHA a
    inner join 
    FICHA b on a.NR_FICHA = b.NR_FICHA
    inner join
    FICHA c on a.NR_FICHA = c.NR_FICHA 
    inner join
    FICHA d on a.NR_FICHA = d.NR_FICHA 
    inner join
    FICHA f on a.NR_FICHA = f.NR_FICHA 
    inner join 
    (select NR_FICHA,
            MAX(NR_VERSAO) 
     from FICHA 
     group by NR_FICHA) e on e.NR_FICHA = a.NR_FICHA
where 
    a.COD_CAMPO = 'nmDocumento'and
    b.COD_CAMPO = 'WKNumProces'and 
    c.COD_CAMPO like 'WKUser'  and 
    d.COD_CAMPO = 'dtPrevista' and 
    f.COD_CAMPO = 'grupoDisciplina'   

Porém venho encontrando o seguinte defeito ao tentar apelidar a subquery:

 

"Msg 8155, Level 16, State 2, Line 20

No column name was specified for column 2 of 'e'."

 

Sou novo no forum e desconheço as políticas de postagem, alguem pode colocar um link?

 

Att,

 

Daniel John Causer

Compartilhar este post


Link para o post
Compartilhar em outros sites

na sub-query:

inner join 
(select NR_FICHA,
MAX(NR_VERSAO) 
from FICHA 

adicione um apelido para a agregação MAX(NR_VERSAO)

 

exemplo:

inner join 
(select NR_FICHA,
MAX(NR_VERSAO) AS MAX_NR_VERSAO
from FICHA 

 

sempre que fizer algum calculo ou adicionar alguma função para algum campo ou conjunto de campos é necessário colocar um apelido

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.