1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Enigma

Discussão em 'Programação' iniciada por ButterflyEffect, 27 de Março de 2008. (Respostas: 8; Visualizações: 826)

  1. ButterflyEffect

    ButterflyEffect Power Member

    Ola pessoal. Gostava que me ajudassem tenho um programa para faxer a base de dados e sqlserver2005 tenho la valores e incrementos e pecisava no programa de calcular a media e maximo desses valores sabem ajudar-me???:005::sad:
     
  2. MPalhas

    MPalhas Power Member

    se queres fazer isso em SQL basta usares o MAX e o AVG para saber o valor máximo e a média, respectivamente.
    Ex:
    para saber o valo máximo do campo preço de uma tabela de preços:
    SELECT MAX(preco) FROM t_precos

    para saber a média de precos:
    SELECT AVG(preco) FROM t_precos
     
  3. ButterflyEffect

    ButterflyEffect Power Member

    mas no meu caso a media e maximo dos valores vai variar consoante determinados factores que o utilizador ira inserir
     
  4. Mavors

    Mavors Power Member

    Deves estar a chamar a query de alguma maneira na web application então quando fores a preparar a query fá-la dinâmica com os critérios definidos pelo utilizador, tipo:

    "SELECT AVG(preco) FROM t_precos WHERE nCliente = '" + nCliente + "' AND locPostal = '" + locPostal + "' AND pais = '" + pais + "'";

    é só um exemplo, n sei se é isso que procuras.
     
  5. MPalhas

    MPalhas Power Member

    se esses valores forem gravados na base de dados então vai dar ao mesmo, senão, então a primeira coisa que me lembro é:
    para o máximo fazes a mesma query e depois comparas com o valor que foi introduzido pelo utilizador

    para a média, em vez de usares o AVG, usas o COUNT para saber nº de registos e o SUM para saber a soma de todos. depois ao resultado do SUM somas o valor introduzido e incrementas o resultado do COUNT e calculas a média a partir dai
     
  6. ButterflyEffect

    ButterflyEffect Power Member

    o que preciso de faxer e o seguinte tenho parametros de uma ferramenta incrementos valores (incremento lateral,em profundidade) o maximo e media desses valores ira depender de 2 factores que inserindo esses factores irá alterar os valores da media e maximo que depende,m de estrategias e operacoes. A parte da query sei faxer o meu problema é mesmo os factores alterarem esses valores, e na sei msm como faxer :005:
     
  7. Mavors

    Mavors Power Member

    Bem, uma das coisas importantes para sermos ajudados é sermos perceptiveis e eu ainda não consegui perceber onde queres chegar. :)

    Convém explicares melhor. Que ferramenta é essa por exemplo?

    - Tás a fazer a query onde? Numa Web Application?
    - Qual é a linguagem que tás a utilizar?
    - Os valores que irão alterar a média são o q? Critérios de pesquisa?

    É que se não disseres como é que são introduzidos esses valores não te podemos ajudar muito pq não adivinhamos como é que isso tá montado.

    Imagina que tens dois inputs e esses inputs influenciam a query em si, tens que preparar um statement e aí podes ir buscar valores à aplicação, vindo de inputs ou de outras variáveis que irão (por jdbc, no caso de Java por exemplo) fazer o select à base de dados.

    Ainda não percebi se dizes que sabes como fazer a query e a estás a usar na própria aplicação se a usar o query analyser do sql server... ou se os dados que influenciam são um insert à base de dados e como tal muda o número de registos ou se são critérios/parametros que influenciam o próprio select em si.
     
    Última edição: 28 de Março de 2008
  8. ButterflyEffect

    ButterflyEffect Power Member

    desculpa la.sou nova nisto :(
    E uma ferramenta para moldes tipo fresas ou brocas cenas assim.
    A query era feita em sql e tou a usar aspnet c#.
    Os valores que vao influenciar são factores que serao uintroduzidos numa caixa de texto (factor a e b tipo inteiro) e irao modificar os parametros dessa ferramenta (parametros tipo altura, incrementos e assim).OS valores k mudam sao atributos caracteristicas da ferramenta.
    A query sei não sei e se o mais indicado e na base dados ou na aplicação.
    são critérios/parametros que influenciam o próprio select em si.
     
  9. Mavors

    Mavors Power Member

    Eu não trabalho com ASP/C#/SQL mas sim com JSP/Java/DB2 no entanto o conceito é transversal, a sintaxe e provavelmente o método é que não ... por isso vais ter de ver como é que se faz em ASP/C#.

    Deves fazer a query do lado da aplicação, uma vez que os valores introduzidos e que podem influenciar a query (pelo que percebi) serão num form da aplicação.

    Portanto ao teres uma acção no form (botão) vais despoletar a execução de uma query de SQL que vai receber parametros, que vêm das inputboxes que estão no form.

    Assim adicionas ao SQL: SELECT AVG(qqcoisa) from tabela WHERE param1 = @param1 AND param2 = @param2

    e influencias as variáveis @param1 e @param2 com o value das inputboxes. Claro que podes utilizar outros operadores condicionais como <,> and so on. Mas isto não deve ser segredo para ti.

    O .Net tem algumas maneiras mais automáticas de fazer isso e acho que leres este link (Using Parameterized Queries with the SqlDataSource - http://www.asp.net/learn/data-access/tutorial-48-cs.aspx) vai-te ajudar pq embora teoricamente esteja a ver como se faz, não conheço assim tão bem a forma como a tua aplicação está estruturada para te dizer "fazes assim".
     

Partilhar esta Página