- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Somar campo de valor na query
×
Linguagem de Programação ADVPL
Perguntas Somar campo de valor na query
- zenir
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 54
- Obrigados Recebidos: 0
11 anos 6 meses atrás #14240
por zenir
Somar campo de valor na query foi criado por zenir
Boa-tarde pessoal!
Estou utilizando a seguinte query em um relatório:
cSql := " SELECT SC5.C5_NUM, SC5.C5_CLIENTE, SC5.C5_EMISSAO, SA1.A1_NOME, SA1.A1_MUN, SA1.A1_EST, SA1.A1_CEP, SC6.C6_VALOR "
cSql += " FROM " + RetSqlName("SC5") + " AS SC5 "
cSql += " INNER JOIN " + RetSqlName("SA1") + " AS SA1 ON (SA1.A1_COD = SC5.C5_CLIENTE AND SA1.A1_LOJA = SC5.C5_LOJACLI)"
cSql += " INNER JOIN " + RetSqlName("SC6") + " AS SC6 ON (SC6.C6_FILIAL=SC5.C5_FILIAL AND SC6.C6_NUM=SC5.C5_NUM AND SC6.C6_CLI=SC5.C5_CLIENTE AND SC6.C6_LOJA=SC5.C5_LOJACLI)"
cSql += " WHERE SC5.C5_FILIAL = '" + xFilial("SC5") + "'"
cSql += " ORDER BY SC5.C5_NUM"
TCQuery cSql New Alias "_C5"
Tá funcionando beleza. Mas preciso somar o campo SC6.C6_VALOR para cada pedido. Como faço isso?
Att,
Zenir
Estou utilizando a seguinte query em um relatório:
cSql := " SELECT SC5.C5_NUM, SC5.C5_CLIENTE, SC5.C5_EMISSAO, SA1.A1_NOME, SA1.A1_MUN, SA1.A1_EST, SA1.A1_CEP, SC6.C6_VALOR "
cSql += " FROM " + RetSqlName("SC5") + " AS SC5 "
cSql += " INNER JOIN " + RetSqlName("SA1") + " AS SA1 ON (SA1.A1_COD = SC5.C5_CLIENTE AND SA1.A1_LOJA = SC5.C5_LOJACLI)"
cSql += " INNER JOIN " + RetSqlName("SC6") + " AS SC6 ON (SC6.C6_FILIAL=SC5.C5_FILIAL AND SC6.C6_NUM=SC5.C5_NUM AND SC6.C6_CLI=SC5.C5_CLIENTE AND SC6.C6_LOJA=SC5.C5_LOJACLI)"
cSql += " WHERE SC5.C5_FILIAL = '" + xFilial("SC5") + "'"
cSql += " ORDER BY SC5.C5_NUM"
TCQuery cSql New Alias "_C5"
Tá funcionando beleza. Mas preciso somar o campo SC6.C6_VALOR para cada pedido. Como faço isso?
Att,
Zenir
Por favor Acessar ou Registrar para participar da conversa.
- mbrigagao
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 350
- Obrigados Recebidos: 1
11 anos 6 meses atrás #14250
por mbrigagao
Respondido por mbrigagao no tópico Somar campo de valor na query
Zenir, bom dia.
Tente assim :
cSql := " SELECT SC5.C5_NUM, SC5.C5_CLIENTE, SC5.C5_EMISSAO, SA1.A1_NOME, SA1.A1_MUN, SA1.A1_EST, SA1.A1_CEP, SC6.C6_VALOR "
cSql += " SUM(SC6.C6_VALOR) AS VALTOT "
cSql += " FROM " + RetSqlName("SC5") + " AS SC5 "
cSql += " INNER JOIN " + RetSqlName("SA1") + " AS SA1 ON (SA1.A1_COD = SC5.C5_CLIENTE AND SA1.A1_LOJA = SC5.C5_LOJACLI)"
cSql += " INNER JOIN " + RetSqlName("SC6") + " AS SC6 ON (SC6.C6_FILIAL=SC5.C5_FILIAL AND SC6.C6_NUM=SC5.C5_NUM AND SC6.C6_CLI=SC5.C5_CLIENTE AND SC6.C6_LOJA=SC5.C5_LOJACLI)"
cSql += " WHERE SC5.C5_FILIAL = '" + xFilial("SC5") + "'"
cSql += " ORDER BY SC5.C5_NUM"
Depois utilize o campo VALTOT para fazer as tratavias que vc quer.
Tente assim :
cSql := " SELECT SC5.C5_NUM, SC5.C5_CLIENTE, SC5.C5_EMISSAO, SA1.A1_NOME, SA1.A1_MUN, SA1.A1_EST, SA1.A1_CEP, SC6.C6_VALOR "
cSql += " SUM(SC6.C6_VALOR) AS VALTOT "
cSql += " FROM " + RetSqlName("SC5") + " AS SC5 "
cSql += " INNER JOIN " + RetSqlName("SA1") + " AS SA1 ON (SA1.A1_COD = SC5.C5_CLIENTE AND SA1.A1_LOJA = SC5.C5_LOJACLI)"
cSql += " INNER JOIN " + RetSqlName("SC6") + " AS SC6 ON (SC6.C6_FILIAL=SC5.C5_FILIAL AND SC6.C6_NUM=SC5.C5_NUM AND SC6.C6_CLI=SC5.C5_CLIENTE AND SC6.C6_LOJA=SC5.C5_LOJACLI)"
cSql += " WHERE SC5.C5_FILIAL = '" + xFilial("SC5") + "'"
cSql += " ORDER BY SC5.C5_NUM"
Depois utilize o campo VALTOT para fazer as tratavias que vc quer.
Por favor Acessar ou Registrar para participar da conversa.
- zenir
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 54
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Somar campo de valor na query
Tempo para a criação da página:0.115 segundos