erro 00936 no oracle
25/07/2018
0
alguém poderia me ajudar ?
SQL Error: ORA-00936: missing expression
Query: SELECT COUNT(1) as count
FROM (
SELECT DesenhosNaoAprovados.desenho, DesenhosNaoAprovados.nome_desenho, DesenhosNaoAprovados.variante, DesenhosNaoAprovados.motivo, DesenhosNaoAprovados.cilindro_gravado, DesenhosNaoAprovados.origem_desenho, MAX(DesenhosNaoAprovados.processo) as processo, MAX(DesenhosNaoAprovados.qnt_cores) AS qnt_cores, DesenhosNaoAprovados.sub_motivo, DesenhosNaoAprovados.tamanho, DesenhosNaoAprovados.palavra_chave, MAX(DesenhosNaoAprovados.data_solicitacao) as data_solicitacao FROM vw_desenhos_nao_aprovados DesenhosNaoAprovados
, imagem i
where DesenhosNaoAprovados.DESENHO = i.desenho
and DesenhosNaoAprovados.VARIANTE = i.variante
/*and DesenhosNaoAprovados.col_futura = ''N''*/
group by DesenhosNaoAprovados.desenho, DesenhosNaoAprovados.nome_desenho, , DesenhosNaoAprovados.variante, DesenhosNaoAprovados.motivo, DesenhosNaoAprovados.cilindro_gravado, DesenhosNaoAprovados.origem_desenho, DesenhosNaoAprovados.sub_motivo, DesenhosNaoAprovados.tamanho, DesenhosNaoAprovados.palavra_chave
) DesenhosNaoAprovados
WHERE DesenhosNaoAprovados.desenho = ''36061''
Query: SELECT DesenhosNaoAprovados.desenho, DesenhosNaoAprovados.nome_desenho, DesenhosNaoAprovados.variante, DesenhosNaoAprovados.motivo, DesenhosNaoAprovados.cilindro_gravado, DesenhosNaoAprovados.origem_desenho, DesenhosNaoAprovados.processo, DesenhosNaoAprovados.qnt_cores, DesenhosNaoAprovados.sub_motivo, DesenhosNaoAprovados.tamanho, DesenhosNaoAprovados.palavra_chave, DesenhosNaoAprovados.data_solicitacao
FROM (
SELECT DesenhosNaoAprovados.desenho, DesenhosNaoAprovados.nome_desenho, DesenhosNaoAprovados.variante, DesenhosNaoAprovados.motivo, DesenhosNaoAprovados.cilindro_gravado, DesenhosNaoAprovados.origem_desenho, MAX(DesenhosNaoAprovados.processo) as processo, MAX(DesenhosNaoAprovados.qnt_cores) AS qnt_cores, DesenhosNaoAprovados.sub_motivo, DesenhosNaoAprovados.tamanho, DesenhosNaoAprovados.palavra_chave, MAX(DesenhosNaoAprovados.data_solicitacao) as data_solicitacao FROM vw_desenhos_nao_aprovados DesenhosNaoAprovados
, imagem i
where DesenhosNaoAprovados.DESENHO = i.desenho
and DesenhosNaoAprovados.VARIANTE = i.variante
/*and DesenhosNaoAprovados.col_futura = ''N''*/
group by DesenhosNaoAprovados.desenho, DesenhosNaoAprovados.nome_desenho, , DesenhosNaoAprovados.variante, DesenhosNaoAprovados.motivo, DesenhosNaoAprovados.cilindro_gravado, DesenhosNaoAprovados.origem_desenho, DesenhosNaoAprovados.sub_motivo, DesenhosNaoAprovados.tamanho, DesenhosNaoAprovados.palavra_chave
) DesenhosNaoAprovados
WHERE DesenhosNaoAprovados.desenho = ''36061'' ORDER BY variante ASC
Matheus Brito
Posts
31/07/2018
Carlos Augusto
GROUP BY DesenhosNaoAprovados.desenho,
DesenhosNaoAprovados.nome_desenho, , DesenhosNaoAprovados.variante,
Duas vírgulas.
Segue a querie correta.
SELECT COUNT(1) as count
FROM (
SELECT
DesenhosNaoAprovados.desenho,
DesenhosNaoAprovados.nome_desenho,
DesenhosNaoAprovados.variante,
DesenhosNaoAprovados.motivo,
DesenhosNaoAprovados.cilindro_gravado,
DesenhosNaoAprovados.origem_desenho,
MAX(DesenhosNaoAprovados.processo) as processo,
MAX(DesenhosNaoAprovados.qnt_cores) AS qnt_cores,
DesenhosNaoAprovados.sub_motivo,
DesenhosNaoAprovados.tamanho,
DesenhosNaoAprovados.palavra_chave,
MAX(DesenhosNaoAprovados.data_solicitacao) as data_solicitacao
FROM vw_desenhos_nao_aprovados DesenhosNaoAprovados
,imagem i
WHERE DesenhosNaoAprovados.DESENHO = i.desenho
AND DesenhosNaoAprovados.VARIANTE = i.variante
GROUP BY DesenhosNaoAprovados.desenho,
DesenhosNaoAprovados.nome_desenho,
DesenhosNaoAprovados.variante,
DesenhosNaoAprovados.motivo,
DesenhosNaoAprovados.cilindro_gravado,
DesenhosNaoAprovados.origem_desenho,
DesenhosNaoAprovados.sub_motivo,
DesenhosNaoAprovados.tamanho,
DesenhosNaoAprovados.palavra_chave
) DesenhosNaoAprovados
WHERE DesenhosNaoAprovados.desenho = ''36061''
01/08/2018
Emerson Nascimento
Agora uma dica... na segunda query não é necessário uma subselect. você pode fazer direto:
SELECT DesenhosNaoAprovados.desenho, DesenhosNaoAprovados.nome_desenho, DesenhosNaoAprovados.variante, DesenhosNaoAprovados.motivo, DesenhosNaoAprovados.cilindro_gravado, DesenhosNaoAprovados.origem_desenho, MAX(DesenhosNaoAprovados.processo) as processo, MAX(DesenhosNaoAprovados.qnt_cores) AS qnt_cores, DesenhosNaoAprovados.sub_motivo, DesenhosNaoAprovados.tamanho, DesenhosNaoAprovados.palavra_chave, MAX(DesenhosNaoAprovados.data_solicitacao) as data_solicitacao FROM vw_desenhos_nao_aprovados DesenhosNaoAprovados INNER JOIN imagem i ON i.desenho = DesenhosNaoAprovados.DESENHO AND i.variante = DesenhosNaoAprovados.VARIANTE WHERE DesenhosNaoAprovados.desenho = '36061' /* and DesenhosNaoAprovados.col_futura = 'N'*/ GROUP BY DesenhosNaoAprovados.desenho, DesenhosNaoAprovados.nome_desenho, DesenhosNaoAprovados.variante, DesenhosNaoAprovados.motivo, DesenhosNaoAprovados.cilindro_gravado, DesenhosNaoAprovados.origem_desenho, DesenhosNaoAprovados.sub_motivo, DesenhosNaoAprovados.tamanho, DesenhosNaoAprovados.palavra_chave ORDER BY DesenhosNaoAprovados.variante ASC
Uma coisa que eu faria é que, ao renomear o datasource, eu colocaria um nome mais simples, como DNA, que tornaria a leitura mais fácil:
SELECT DNA.desenho, DNA.nome_desenho, DNA.variante, DNA.motivo, DNA.cilindro_gravado, DNA.origem_desenho, MAX(DNA.processo) as processo, MAX(DNA.qnt_cores) AS qnt_cores, DNA.sub_motivo, DNA.tamanho, DNA.palavra_chave, MAX(DNA.data_solicitacao) as data_solicitacao FROM vw_desenhos_nao_aprovados DNA INNER JOIN imagem i ON i.desenho = DNA.DESENHO AND i.variante = DNA.VARIANTE WHERE DNA.desenho = '36061' /* and DNA.col_futura = 'N'*/ GROUP BY DNA.desenho, DNA.nome_desenho, DNA.variante, DNA.motivo, DNA.cilindro_gravado, DNA.origem_desenho, DNA.sub_motivo, DNA.tamanho, DNA.palavra_chave ORDER BY DNA.variante ASC
Clique aqui para fazer login e interagir na Comunidade :)