Quantcast
Channel: Que doideira, não entendi nada...
Viewing all articles
Browse latest Browse all 11

Que doideira, não entendi nada...

$
0
0

vejam:
  Tenho este seguinte select
============
SELECT * FROM vw_Solicitacao
WHERE bb_MotivoChamado is not null and fl_Andamento = 1 and cd_Lotacao = 75
ORDER BY sg_Lotacao, ds_Area, nm_Login

> ele  retorna TUDO, seguinte notação (nos campos cd_Lotacao quando é igual a 75 ele traz correto mas os outros ele coloca NULL )
============
  se eu fizer o select sem ser pela view e usando a clausula Where dá certo
========

SELECT so.dt_Cadastro,
  so.us_Cadastro,
 so.cd_Problema,
 so.cd_Computador,
 so.cd_Matricula,
 so.bb_MotivoChamado,
 an.cd_Solicitacao,
 an.ci_Andamento,
 an.cd_Situacao,
 an.cd_Tecnico,
 an.cd_Supervisor,
 an.bb_MotivoCancelado,
 an.bb_ProblemaDetectado,
 an.bb_ServicoRealizado,
 an.fl_Aceito,
 an.bb_Aceito,
 an.mg_Tecnico,
 an.dt_Conclusao,
 an.dt_Cancelado,
 an.dt_Aceito,
 an.dt_EscolhaTecnico,
 an.dt_RepasseTecnico,
 an.fl_Pendente,
 an.fl_Andamento,
 si.nm_Situacao,
 si.ds_Imagem as ImagemSituacao,
 si.ds_Objetivo as ObjetivoSituacao,
 co.nm_Computador,
 co.cd_Lotacao,
 ar.ds_Area,
 ar.ds_Imagem AS ImagemArea,
 pr.cd_Area,
 fu.nm_Fun as nm_Funcionario,
 fu.nm_Fungue as nm_Login,
 lo.sg_Lotacao,
 ce.cd_Prt as cd_Casa,
 t.nr_Tel as nr_Telefone,

 /* Verificar Datas*/
 DATEPART(hour, so.dt_Cadastro) AS HoraCadastro,
 DATEPART(hour, an.dt_Conclusao) AS HoraConclusao,
 DATEPART(hour, an.dt_Cancelado) AS HoraCancelado,
 DATEPART(hour, an.dt_Aceito) AS HoraAceito,
 
 DATEPART(minute, so.dt_Cadastro) AS MinuCadastro,
 DATEPART(minute, an.dt_Conclusao) AS MinuConclusao,
 DATEPART(minute, an.dt_Cancelado) AS MinuCancelado,
 DATEPART(minute, an.dt_Aceito) AS MinuAceito,
 
 DATENAME(Month, so.dt_Cadastro) AS MesCadastro,
 DATENAME(Month, an.dt_Conclusao) AS MesConclusao,
 DATENAME(Month, an.dt_Cancelado) AS MesCancelado,
 DATENAME(Month, an.dt_Aceito) AS MesAceito,
 
 DATEPART(year, so.dt_Cadastro) AS AnoCadastro,
 DATEPART(year, an.dt_Conclusao) AS AnoConclusao,
 DATEPART(year, an.dt_Cancelado) AS AnoCancelado,
 DATEPART(year, an.dt_Aceito) AS AnoAceito,
 
 DATEPART(day, so.dt_Cadastro) AS DiaCadastro,
 DATEPART(day, an.dt_Conclusao) AS DiaConclusao,
 DATEPART(day, an.dt_Cancelado) AS DiaCancelado,
 DATEPART(day, an.dt_Aceito) AS DiaAceito

FROM dbo.TB3SSS_ANDAMENTO an,
 dbo.TB3SSS_SOLICITACAO so,
 dbo.TB3SSS_SITUACAO si,
 dbo.TB3SSS_COMPUTADOR co,
 dbo.TB3SSS_PROBLEMA pr,
 dbo.TB3SSS_AREA ar,
 dbo.TB3SSS_TECNICO te,
 BDOINT.dbo.TBFuncionario fu,
 BDOINT.dbo.TBINTE_LOTACAO lo,
 BDOINT.dbo.TBCelula ce,
 BDOINT.dbo.TBTelefone t

WHERE an.cd_Solicitacao = so.cd_Solicitacao
 and an.cd_Situacao = si.cd_Situacao
 and an.cd_Tecnico *= te.cd_Tecnico
 and so.cd_Computador *= co.cd_Computador
 and so.cd_Problema = pr.cd_Problema
 and pr.cd_Area = ar.cd_Area
 and so.cd_Matricula = fu.nr_Mat
 and fu.cd_Lotacao = lo.cd_Lotacao
 and lo.cd_Celula = ce.cd_Cel
 and fu.cd_Tel *= t.cd_Tel

where co.cd_Lotacao = 75

desta forma dá certo
========

Não entendi nada nesta view, pois pelo que entendo quando se usa view não precisa dizer a que tabela pertence um campo dentro da clausula Where.

Alguem tem umas dicas??

Agradeço deste já.

Francisco Cleirton


Viewing all articles
Browse latest Browse all 11

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>