Erro no Group By

Destinado ao auxílio e Troca de informações sobre a ferramenta Xmaker
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Softham
Mensagens: 4
Registrado em: Agosto 10th, 2011, 1:08 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Erro no Group By

Mensagempor Softham » Junho 16th, 2012, 10:34 am

Caros amigos do forum, estou tendo problemas no Group By na seguinte clausula sql:

DPedidos.FiltroExtra.Clear;
DPedidos.ChaveIndice := '';
DPedidos.Filtro.Clear;
DPedidos.SQLPrincipal.Clear;
DPedidos.SQLPrincipal.Add('Select PED_INDUSTRIA AS FOR_CODIGO, Sum(Ped_TOTBRUTO) as TOT_BRUTO, Sum(PED_TOTLIQ) AS TOT_LIQ,');
DPedidos.SqlPrincipal.Add(' (Select FOR_NOME from Fornecedores Where Pedidos.Ped_Industria = Fornecedores.FOR_CODIGO) as FOR_NOME,');
DPedidos.SqlPrincipal.Add(' (Select CLI_NOME from Clientes Where Pedidos.Ped_cliente = Clientes.Cli_codigo) as CLI_NOME ');
DPedidos.SqlPrincipal.Add('From Pedidos');
DPedidos.SQLPrincipal.Add('Where Pedidos.Ped_data Between '+ chr(39)+DataSql(xDateEdit1.DateValue)+Chr(39) + ' and +Chr(39)+Datasql(xDateEdit2.DateValue)+Chr(39));
DPedidos.SqlPrincipal.Add(' and Pedidos.Ped_Situacao <> '+Chr(39)+'C'+Chr(39));
DPedidos.SqlPrincipal.Add(' and Pedidos.Ped_cliente = '+InttoStr(Trunc(xNumedit1.Value)));
DPedidos.SQLPrincipal.Add('Group By PED_INDUSTRIA');
DPedidos.SQLPrincipal.Add('');
DPedidos.AtualizaSql(False);
Parametros(DPedidos);
DPedidos.Open;
frDBDataSet.DataSet := DPedidos;


O erro é o seguinte: Invalid expression in the select list (not contained in either in aggregate function or de Group By clause)

Onde será que está o erro???

Desde ja agradeço.

Gilberto
Mensagens: 65
Registrado em: Janeiro 12th, 2011, 10:03 am
Localização: Ribeirão Preto SP
Contato:

Re: Erro no Group By

Mensagempor Gilberto » Junho 19th, 2012, 12:09 pm

Olá,
Você não está dando um alias(apelido) para PED_INDUSTRIA AS FOR_CODIGO
e usando PED_INDUSTRIA no group by.

Não seria isso ?

carlinhos.info
Mensagens: 26
Registrado em: Julho 12th, 2011, 9:46 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Erro no Group By

Mensagempor carlinhos.info » Junho 19th, 2012, 1:23 pm

DPedidos.SQLPrincipal.Add('Group By PED_INDUSTRIA');
troque por
DPedidos.SQLPrincipal.Add('Group By 1);

Onde o número (1) é a posição do Select.
Obs. Caso tenha que mencionar outros campos no Group By é só substituir os nomes dos campos pelo número da posição referente a ele no select.

Gilberto
Mensagens: 65
Registrado em: Janeiro 12th, 2011, 10:03 am
Localização: Ribeirão Preto SP
Contato:

Re: Erro no Group By

Mensagempor Gilberto » Junho 19th, 2012, 4:24 pm

Para agrupar registro em SQL utilize o comando "Group By", exemplo:

Select VENDAS.CLI_CODIGO AS CLI_CODIGO, SUM(TOTAL) AS
TOTAL_GERAL FROM VENDAS GROUP BY CLI_CODIGO

Esse tipo de SQL pode ser utilizado em relatórios/gráficos, na definição do
relatório clique no botão: SQL e digite a instrução desejada, o exemplo acima
totaliza o campo "Total" por Cliente, o projetista tem a liberdade de criar as
instruções em SQL.

Leão
Mensagens: 149
Registrado em: Junho 24th, 2011, 10:06 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Erro no Group By

Mensagempor Leão » Junho 20th, 2012, 9:32 am

Cara, aconselho desenvolver sql na consulta do próprio Xmaker, lá você pode testar
passo a passo, depois é só chamar no formulário.

Obrigado,
Leão


[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Voltar para “Xmaker”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes