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

Latest Images

Trending Articles


More Pages to Explore .....



Latest Images