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.
Erro no Group By
-
- Mensagens: 65
- Registrado em: Janeiro 12th, 2011, 10:03 am
- Localização: Ribeirão Preto SP
- Contato:
Re: Erro no Group By
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 ?
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 ?
-
- 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
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.
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.
-
- Mensagens: 65
- Registrado em: Janeiro 12th, 2011, 10:03 am
- Localização: Ribeirão Preto SP
- Contato:
Re: Erro no Group By
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.
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.
-
- 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
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
passo a passo, depois é só chamar no formulário.
Obrigado,
Leão
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante