erro 00936 no oracle

Oracle

25/07/2018

Estou com um erro no meu sistema, não sei como resolver ..
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

Matheus Brito

Curtidas 0

Respostas

Carlos Augusto

Carlos Augusto

25/07/2018

Achei um erro aqui.
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''


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

25/07/2018

Como o Gutopro respondeu, tinha uma virgula a mais.
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
GOSTEI 0
POSTAR