Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NewUser

Select com valor total

Recommended Posts

Tenho um 2 tabelas:

Uma de Funcionário e outra de dias trabalhados.

Gostaria de selecionar todos os funcionário e comparar na tabela de dias trabalhados e ve quantos encontro e da um valor final.

tantos funcionários trabalharam na empresa este mês.

Como faço essa rotina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

as tabelas estao com os relaciomentos corretos,seria interessante você ter um campo de chave-relacionada, pois você consegue por exemplo atraves de um INNER JOIN, exibir os dados de deptos e empregados, cabe destacar a importancia de uma modelagem de dados bem definida, pois dae saem todas as consultas e operacoes com o bd, influenciando diretamente na otimizacao e performance do aplicativo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

as tabelas estao com os relaciomentos corretos,seria interessante você ter um campo de chave-relacionada, pois você consegue por exemplo atraves de um INNER JOIN, exibir os dados de deptos e empregados, cabe destacar a importancia de uma modelagem de dados bem definida, pois dae saem todas as consultas e operacoes com o bd, influenciando diretamente na otimizacao e performance do aplicativo.

Na Verdade é assim, tenho uma tabela de onde faço o fechamento do mês dos funcionário que trabalharam em diferentes postos no mês.

Na tabela FECHAMENTO eu eu tenho os os profissionais, os postos e os valores que cada um ganhou.

Quero fazer os seguintes relatórios:

o valor que cada um ganhou, o valor que cada posto pagou e o valor total dos gastos.

Como faço estes cálculos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá New para você contar a quantidade de funcionários use o método Count, e para soma de valores, use o SUM conforme exemplo

 

"Select Count (tbFuncionarios) as NumeroFuncionarios from Funcionarios"

"Select SUM (tbSalario) as ValorSalario from Funcionarios where codFunc ="&CodFunc

* O as você utiliza como alias, tipo, na hora de chamar o resultado:

 

 

Numero de Funcionários: <%=rs("NumeroFuncionarios")%> <br>

 

Salário Funcionario: <%=rs(FormatCurrency(("ValorSalario"))%> <br>

Tente procurar na Web um pouco mais sobre cláusulas SQL, vai te ajudar bastante!!

 

boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função COUNT retorna o número de linhas em uma consulta.

A sintaxe para a função COUNT é:

 

SELECT COUNT(expression)
FROM tables
WHERE predicates;

A função COUNT funciona somente irá contar os registros em que o campo não seja NOT NULL.

Por exemplo, se você tiver a tabela a denominada suppliers:

 

Com 3 registros:

 

Supplier_ID: 1 ,2 ,3

Supplier_Name: IBM, Microsoft, Nvidia

State: NY, CA, TO

 

O resultado para essa pesquisa irá retornar 3.

 

Select COUNT(Supplier_ID) from suppliers;

Embora o resultado para a próxima consulta só retornará 1, uma vez que existe apenas uma linha na tabela fornecedores campo onde o Estado é NOT NULL.

 

Select COUNT(State) from suppliers;

Exemplo

 

Por exemplo, você pode querer saber quantos trabalhadores têm um salário que está acima 25000 dólares / ano.

 

SELECT COUNT(*) as "Number of employees"
FROM employees
WHERE salary > 25000;

Neste exemplo, temos a abreviatura count (*) no campo " Number of employees ". Como resultado, " Number of employees " vai mostrar o nome do campo quando o resultado é retornado.

 

Usando DISTINCT

 

Você pode usar a cláusula DISTINCT dentro da função COUNT.

Por exemplo, o comando SQL abaixo retorna o número de departamentos exclusivos, em que pelo menos um empregado faz mais de US $ 25,000 / ano.

 

SELECT COUNT(DISTINCT department) as "Unique departments"
FROM employees WHERE salary > 25000;
Novamente, função COUNT (DISTINCT departamento),é abreviatura de "Unique departments ". Este campo é o nome que será exibido no resultado.

.

 

Usando GROUP BY

 

Em alguns casos, você será obrigado a usar uma cláusula GROUP BY com a função COUNT.

Por exemplo, você poderia usar a função COUNT para retornar o nome do serviço e o número de empregados (no departamento associados) com mais de US $ 25,000 / ano.

 

SELECT department, COUNT(*) as "Number of employees"
FROM employees
WHERE salary > 25000
GROUP BY department;

TIP: Performance Tuning

 

A função COUNT retornará os mesmos resultados independentemente do que os campo(s) NOT NULL que incluem parâmetros como a função COUNT (ou seja: dentro dos parênteses), você pode alterar a sintaxe da função COUNT para COUNT (1) para obter melhor desempenho como o mecanismo de banco de dados ,não terão de ir buscar novamente os dados.

Por exemplo, baseado no exemplo acima, com a seguinte sintaxe iria resultar em melhor desempenho:

 

SELECT department, COUNT(1) as "Number of employees"
FROM employees
WHERE salary > 25000
GROUP BY department;

Agora, a função COUNT não precisará obter todos os campos da tabela, como quando você usou o COUNT (*). Que apenas irá recuperar o valor numérico de 1 para cada registro que satisfaz os seus critérios.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função COUNT retorna o número de linhas em uma consulta.

A sintaxe para a função COUNT é:

 

SELECT COUNT(expression)
 FROM tables
 WHERE predicates;

A função COUNT funciona somente irá contar os registros em que o campo não seja NOT NULL.

Por exemplo, se você tiver a tabela a denominada suppliers:

 

Com 3 registros:

 

Supplier_ID: 1 ,2 ,3

Supplier_Name: IBM, Microsoft, Nvidia

State: NY, CA, TO

 

O resultado para essa pesquisa irá retornar 3.

 

Select COUNT(Supplier_ID) from suppliers;

Embora o resultado para a próxima consulta só retornará 1, uma vez que existe apenas uma linha na tabela fornecedores campo onde o Estado é NOT NULL.

 

Select COUNT(State) from suppliers;

Exemplo

 

Por exemplo, você pode querer saber quantos trabalhadores têm um salário que está acima 25000 dólares / ano.

 

SELECT COUNT(*) as "Number of employees"
 FROM employees
 WHERE salary > 25000;

Neste exemplo, temos a abreviatura count (*) no campo " Number of employees ". Como resultado, " Number of employees " vai mostrar o nome do campo quando o resultado é retornado.

 

Usando DISTINCT

 

Você pode usar a cláusula DISTINCT dentro da função COUNT.

Por exemplo, o comando SQL abaixo retorna o número de departamentos exclusivos, em que pelo menos um empregado faz mais de US $ 25,000 / ano.

 

SELECT COUNT(DISTINCT department) as "Unique departments"
 FROM employees WHERE salary > 25000;
Novamente, função COUNT (DISTINCT departamento),é abreviatura de "Unique departments ". Este campo é o nome que será exibido no resultado.

.

 

Usando GROUP BY

 

Em alguns casos, você será obrigado a usar uma cláusula GROUP BY com a função COUNT.

Por exemplo, você poderia usar a função COUNT para retornar o nome do serviço e o número de empregados (no departamento associados) com mais de US $ 25,000 / ano.

 

SELECT department, COUNT(*) as "Number of employees"
 FROM employees
 WHERE salary > 25000
 GROUP BY department;

TIP: Performance Tuning

 

A função COUNT retornará os mesmos resultados independentemente do que os campo(s) NOT NULL que incluem parâmetros como a função COUNT (ou seja: dentro dos parênteses), você pode alterar a sintaxe da função COUNT para COUNT (1) para obter melhor desempenho como o mecanismo de banco de dados ,não terão de ir buscar novamente os dados.

Por exemplo, baseado no exemplo acima, com a seguinte sintaxe iria resultar em melhor desempenho:

 

SELECT department, COUNT(1) as "Number of employees"
 FROM employees
 WHERE salary > 25000
 GROUP BY department;

Agora, a função COUNT não precisará obter todos os campos da tabela, como quando você usou o COUNT (*). Que apenas irá recuperar o valor numérico de 1 para cada registro que satisfaz os seus critérios.

Muito bom, vou fazer alguns teste e volto a postar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.