Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, bom dia!
Estou com um problema para ler uma view em uma carga do Qlikview.
Sempre apresenta mensagem que existe um não numérico onde é esperado um númerico. Vejam o print.
O que pode ser?
Desde já agradeço a ajuda.
Abraço,
Juliana.
Olá Juliana,
Tente executar essa View no SGDB, provavelmente acontecerá o mesmo erro, pelo que me parece é erro no código da View, não no QlikView.
Abraço.
Olá Juliana,
Tente executar essa View no SGDB, provavelmente acontecerá o mesmo erro, pelo que me parece é erro no código da View, não no QlikView.
Abraço.
Olá Aderlan,
Era isso mesmo, fui depois ver o select da view e pelo PL/SQL rodava direitinho.
Mas no Qlikview não.. Era a formatação de datas que eu estava utilizando na clausula where da view.
Muito obrigada pela dica..
Abs,
Juliana.
Aderlan, olá!
Eu não consigo fazer um sub select dentro de um select? Está dando erro para mim.
Veja abaixo:
Leitura OLEDB falhou
ABSENTEISMO_CID:
select
freq.dt_frequencia as data_frequencia,
freq.ds_motivo_falta as motivo_falta,
freq.cd_funcionario as cd_funcionario,
func.cd_setor as cd_setor,
func.id_turno as id_turno,
((select c.descap from senior.r192sub a, senior.r192gdo b,
senior.r192cap c where a.codsub between b.subini and b.subfim and
b.codcap = c.codcap and a.codsub = atest.codsub)),
((select b.desgdo from senior.r192sub a,
senior.r192gdo b where a.codsub between b.subini and b.subfim and
a.codsub = atest.codsub)),
atest.codsub as codsub,
subcid.dessub as dessub
from
frequencia freq,
senior.r110mam atest,
senior.r192sub subcid,
funcionario func
where
freq.cd_funcionario = atest.codfic and
freq.cd_funcionario = func.cd_funcionario and
atest.codsub = subcid.codsub(+) and
freq.dt_frequencia >= to_date('01/01/2009','DD/MM/YYYY') and
freq.dt_frequencia between atest.datafa and atest.fimate
group by
freq.dt_frequencia,
freq.ds_motivo_falta,
freq.cd_funcionario,
func.nm_funcionario,
func.cd_setor,
func.id_turno,
atest.codsub,
subcid.dessub
union all
select
freq.dt_frequencia as data_frequencia,
freq.ds_motivo_falta as motivo_falta,
freq.cd_funcionario as cd_funcionario,
func.cd_setor as cd_setor,
func.id_turno as id_turno,
((select c.descap from senior.r192sub a, senior.r192gdo b,
senior.r192cap c where a.codsub between b.subini and b.subfim and
b.codcap = c.codcap and a.codsub = atest.codsub)),
((select b.desgdo from senior.r192sub a,
senior.r192gdo b where a.codsub between b.subini and b.subfim and
a.codsub = atest.codsub)),
atest.codsub as codsub,
subcid.dessub as dessub
from
frequencia freq,
senior.usu_vafastamentos atest,
senior.r192sub subcid,
funcionario func
where
freq.cd_funcionario = atest.numcad and
freq.cd_funcionario = func.cd_funcionario and
atest.codsub = subcid.codsub(+) and
freq.dt_frequencia >= to_date('01/01/2009','DD/MM/YYYY') and
((freq.dt_frequencia >= atest.datafa and freq.dt_frequencia <= to_date(atest.datter,'DD/MM/RR')) or
freq.dt_frequencia > atest.datafa and atest.datter is null) and
atest.sitafa = 3
group by
freq.dt_frequencia,
freq.ds_motivo_falta,
freq.cd_funcionario,
func.nm_funcionario,
func.cd_setor,
func.id_turno,
atest.codsub,
subcid.dessub
Saberia me dizer o que pode ser?
Desde já te agradeço,
Juliana.
Juliana,
Nem vou entrar no mérito de certo ou errado e no desempenho dessa query. Rsrsrs...
Mas está faltando o alias das colunas onde você usa o subselect, corrreto?
Coloca um "as" alguma coisa nelas. Veja se resolve, senão, terá que rever a query mesmo.
Porém, recomendo a possibilidade de transformar isso tudo em consultas simples e tratar os relacionamentos com JOINs no QV.
Abraço.
Olá Aderlan,
Pois é, não tava legal esse meu query, eu mudei ela toda agora na parte da tarde e fiz realmente o que você me falou.
Separei tudo e uni lá no qlikview só e funcionou certinho..
Obrigada,
Juliana.