SQL Group By
Pessoal Preciso Relacionar duas Tabela e Ao Mesmo tempo Agregar Campos
Estou Fazendo
SELECT tb_FormPgto.Codigo, tb_FormPgto.Descricao, tb_Vendas.Cod_Form_Pgto
from tb_FormPgto, tb_Vendas where tb_FormPgto.Codigo = tb_Vendas.Cod_Form_Pgto
group by cod_form_Pgto
Mas não Funciona! me ajudem
Estou Fazendo
SELECT tb_FormPgto.Codigo, tb_FormPgto.Descricao, tb_Vendas.Cod_Form_Pgto
from tb_FormPgto, tb_Vendas where tb_FormPgto.Codigo = tb_Vendas.Cod_Form_Pgto
group by cod_form_Pgto
Mas não Funciona! me ajudem
Cristiano
Curtidas 0
Respostas
Jeancamila
03/05/2003
Tente assim! Uma vez utilizei e o problema era a ordem dos campos.
SELECT tb_Vendas.Cod_Form_Pgto, tb_FormPgto.Codigo, tb_FormPgto.Descricao
from tb_FormPgto, tb_Vendas where tb_FormPgto.Codigo = tb_Vendas.Cod_Form_Pgto
group by tb_Vendas.Cod_Form_Pgto
Acho que pode ser isso. Não tenho certeza mas vale a pena tentar!
SELECT tb_Vendas.Cod_Form_Pgto, tb_FormPgto.Codigo, tb_FormPgto.Descricao
from tb_FormPgto, tb_Vendas where tb_FormPgto.Codigo = tb_Vendas.Cod_Form_Pgto
group by tb_Vendas.Cod_Form_Pgto
Acho que pode ser isso. Não tenho certeza mas vale a pena tentar!
GOSTEI 0
Jeancamila
03/05/2003
Dê uma olhada na dica abaixo tirada do arquivo 750 dicas de delphi!
As funções de grupo operam sobre grupos de tuplas(linhas). Retornam resultados baseados em grupos de tuplas em vez de resultados de funções por tupla individual. A claúsula ´group by´ do comando ´select´ é utilizada para dividir tuplas em grupos menores.
A cláusula ´GROUP BY´ pode ser usada para dividir as tuplas de uma tabela em grupos menores. As funções de grupo devolvem uma informação sumarizada para cada grupo.
16) Apresente a média de salário pagos por departamento.
Resp:
SELECT DUPNUME, AVG(EMPSALA)
FROM EMP
GROUP BY DEPNUME;
Obs.: Qualquer coluna ou expressão na lista de seleção, que não for uma função agregada, deverá constar da claúsula ´group by´. Portanto é errado tentar impor uma ´restrição´ do tipo agregada na cláusula Where.
As funções de grupo operam sobre grupos de tuplas(linhas). Retornam resultados baseados em grupos de tuplas em vez de resultados de funções por tupla individual. A claúsula ´group by´ do comando ´select´ é utilizada para dividir tuplas em grupos menores.
A cláusula ´GROUP BY´ pode ser usada para dividir as tuplas de uma tabela em grupos menores. As funções de grupo devolvem uma informação sumarizada para cada grupo.
16) Apresente a média de salário pagos por departamento.
Resp:
SELECT DUPNUME, AVG(EMPSALA)
FROM EMP
GROUP BY DEPNUME;
Obs.: Qualquer coluna ou expressão na lista de seleção, que não for uma função agregada, deverá constar da claúsula ´group by´. Portanto é errado tentar impor uma ´restrição´ do tipo agregada na cláusula Where.
GOSTEI 0
Cristiano
03/05/2003
Estou recebendo o seguinte erro:
When GROUP BY exists, every simple field in projectors must in GROUP BY
Porque esse erro? é porque estou fazendo o relacionamento ?Eu utilizei
SELECT tb_Vendas.Cod_Form_Pgto, tb_FormPgto.Codigo, tb_FormPgto.Descricao
from tb_FormPgto, tb_Vendas where tb_FormPgto.Codigo = tb_Vendas.Cod_Form_Pgto
group by tb_Vendas.Cod_Form_Pgto
When GROUP BY exists, every simple field in projectors must in GROUP BY
Porque esse erro? é porque estou fazendo o relacionamento ?Eu utilizei
SELECT tb_Vendas.Cod_Form_Pgto, tb_FormPgto.Codigo, tb_FormPgto.Descricao
from tb_FormPgto, tb_Vendas where tb_FormPgto.Codigo = tb_Vendas.Cod_Form_Pgto
group by tb_Vendas.Cod_Form_Pgto
GOSTEI 0
Luger
03/05/2003
Tente isso !
SELECT tb_FormPgto.Codigo,
tb_FormPgto.Descricao,
from tb_FormPgto,
(
SELECT tb_Vendas.Cod_Form_Pgto CodFormPgto
from tb_FormPgto,
tb_Vendas
where tb_FormPgto.Codigo = tb_Vendas.Cod_Form_Pgto
group by tb_Vendas.cod_form_Pgto
) GrpVendas
where GrpVendas.CodFormPgto = tb_FormPgto.Codigo
SELECT tb_FormPgto.Codigo,
tb_FormPgto.Descricao,
from tb_FormPgto,
(
SELECT tb_Vendas.Cod_Form_Pgto CodFormPgto
from tb_FormPgto,
tb_Vendas
where tb_FormPgto.Codigo = tb_Vendas.Cod_Form_Pgto
group by tb_Vendas.cod_form_Pgto
) GrpVendas
where GrpVendas.CodFormPgto = tb_FormPgto.Codigo
GOSTEI 0