Olá:
Tenho a seguinte query feita no SQLServer:
select oco.codigo as oco_codigo, oco.cod_ocorr as oco_cod_ocorr,
oco.descr_ocorr as oco_descr, oco.obs_ocorr as oco_obs,
oco.data as oco_data, oco.hora as oco_hora
from tb_ocorr oco
where oco.codigo in (
select max(ocorr.codigo) as codigo1 from tb_ocorr ocorr, tb_nf_esp nf
where nf.idcodigo = 610963
and (ocorr.filialctc = nf.filialctc)
)
Tudo acontece perfeitamente. entretanto desejo exibir a variável codigo1 do select interno no select externo. Assim a query ficaria assim: “select codigo1, oco.codigo as oco_codigo, …”. entetanto quando executo aparece esta mensagem: “Invalid column name ‘codigo1’.”. Alguém tem idéia de como contornar isso?
Grato,
Kra, o seu select interno é uma lista e o SQL server não traz o valor de uma query interna para a query esterna, voce teria que far um join da sub-query na query principal.
exemplo:
select
c.idCliente,
c.nome,
max(h.dtAcesso) as UltimoAcesso
from
cliente c left outer join historico h
on c.idCliente = h.idCliente
where
c.idCliente in (select idCliente from historico)
grop by
c.idCliente,
c.nome
order by
c.nome
Mesmo assim, vou dar uma olhada por aki. Se eu tiver alguma novidade eu mando outro post…
[editado]
Veja que o exemplo acima é meio redundante. o exemplo abaixo teria o mesmo efeito, porém muito mais leve
exemplo:
select
c.idCliente,
c.nome,
max(h.dtAcesso) as UltimoAcesso
from
cliente c join historico h
on c.idCliente = h.idCliente
grop by
c.idCliente,
c.nome
order by
c.nome
[/editado]
Um abraço…