Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal preciso de uma ajuda tenho a seguinte tabela
V0101 | QUEIJO
V0102 | QUEIJO 01
V0105 | QUEIJO 02
V0110 | QUEIJO 03
V0130 | QUEIJO 04
V0140 | QUEIJO 05
V0141 | QUEIJO 06
V0201 | PRESUNTO
V0202 | PRESUNTO 01
V0210 | PRESUNTO 02
V0250 | PRESUNTO 03
V0301 | PRESUNTO 04
V0325 | PRESUNTO 05
V0330 | PRESUNTO 06
V0340 | PRESUNTO 07
V0350 | PRESUNTO 08
V0401 | PASTEL
V0405 | PASTEL 01
V0410 | PASTEL 02
V0415 | PASTEL 03
F5501 | FARINHA
F5505 | FARINHA 01
F5510 | FARINHA 02
F5515 | FARINHA 03
Onde o V0101 é o código
Precisava fazer uma agrupamento tipo produtos que o código do produto comece com V01 em seguida V02
Tenho como fazer isto?
>
Use o substr
Então tentei utilizar assim
SELECT "CODIGO","DESCRICAO" FROM "CADPROD" GROUP BY SUBSTR("CODIGO", 1, 3)
Mas esta dando o Seguinte erro
ERRO: coluna "CADPROD.CODIGO" deve aparecer na clausula GROUP BY ou ser utilizada em uma funcao de agregacao
Obs: Estou utilizando o PostgreSQL
Desculpe ter postado aqui pois não tinha visto que tinha uma seção só para o PostgreSQL e é primeira vez que utilizo, pensei que era igual a MYSQL
Para usar Group é preciso uma função agregadora e *usar no select e no group*.
SELECT SUBSTR("CODIGO", 1, 3) CODIGO,"DESCRICAO",SUM("VALOR") VALOR
FROM "CADPROD"
GROUP BY SUBSTR("CODIGO", 1, 3)>
Para usar Group é preciso uma função agregadora e *usar no select e no group*.
SELECT SUBSTR("CODIGO", 1, 3) CODIGO,"DESCRICAO",SUM("VALOR") VALORDeu o seguinte erro
ERRO: funcao VALOR() nao existe
HINT: Nenhuma funao corresponde com o nome e os tipos de argumento informados. Voce precisa adicionar conversoes de tipo explicitas.
SELECT SUBSTR("CODIGO", 1, 3) CODIGO,"DESCRICAO"
FROM "CADPROD"
GROUP BY SUBSTR("CODIGO", 1, 3)
Voltou dar o erro de agregação
ERRO: coluna "CADPROD.DESCRICAO" deve aparecer na clausula GROUP BY ou ser utilizada em uma funcao de agregacao
Tentou adicioná-lo no GROUP BY como a mensagem de erro sugere?
SELECT SUBSTR("CODIGO", 1, 3) CODIGO,"DESCRICAO"
FROM "CADPROD"
GROUP BY SUBSTR("CODIGO", 1, 3),"DESCRICAO"
"a group deve ser igual ao select"
Use o substr