Programación General > C++ Builder

 Alguna Idea???

(1/3) > >>

el bare:
Que tal, mi pregunta es la siguiente:

Como puedo hacer lo que se pide en la imagen??



Lo primero que se me ocurrio fue hacerlo con edits, y que una vez que los datos estuvieran alli, se hiciera el calculo con un boton, pero no estoy seguro de que sea la opcion mas optima y eficaz..No habra alguna otra manera de hacerlo??..no se, con alguna consulta de SQL o alguna otra solucion???..Lo digo porque en la imagen es solo el promedio de 4, pero creo que despues habra que hacerlo con 22, imaginense si lo hago con los edits..... :oops:


Cualquier Sugerencia es bienvenida... :)


De antemano...Gracias por su atencion.... :hola:

Saludos... :hola:

AnimaSubtilis:
Mira es algo muy sencillo de hacer...


--- Código: C++ ---   int suma;   consulta->Close();  consulta->CommandText="select sum(TotConsultas) as suma from tabla where Trimestre <> 'Promedio anual' ";  consulta->Open();    suma = consulta->FieldByName("suma")->AsInteger;//  y luego es hacer el update en la tabla    
siendo consulta un TADODataSet

ya seria complementar el where de la consulta.... que pida el año y el update se realizaria de esa manera en fin de resto ya es lo que nescesites

taluego........

el bare:
Que tal Anima.. ^_^

ya probe lo de SUM,...:D..funciona bien, la verdad es q no habia usado esa funcion de sql.. ^_^

oye, una pregunta..existe algun tipo de dato en sql que te permita agregar caracteres, pero a la vez poder usar el SUM???....porque los tenia con nvarchar y tuve q cambiarlo a float para hacer la operacion.

Saludos.... :hola:

F_Tanori:
Si lo que quieres es sumar las columnas entonces no se usara SUM
Otro caso extraño es que se le sume el año :S (lo que hace pensar que estan mal subrayadas las columnas en forma horizontal (filas) )

Sin año

--- Código: SQL --- SELECT (Total_Consultas + Total_Medicamentos + Total_Horas) / 3  AS 'Promedio'FROM tabla WHERE Trimestre <> 'Promedio anual'  
Con año

--- Código: SQL --- SELECT (Total_Consultas + Total_Medicamentos + Total_Horas + año ) / 4  AS 'Promedio'FROM tabla WHERE Trimestre <> 'Promedio anual'  
Si lo que quieres es obtener el promedio por columna

--- Código: SQL --- SELECT Trimestre, Avg(Total_Consultas) AS 'Promedio Consultas' , Avg(Total_Medicamentos)AS 'Promedio Medicamento' , Avg(Total_Horas) AS 'Promedio Horas'FROM tabla GROUP BY Trimestre  

--- Código: SQL ---  SELECT Trimestre, Avg(Total_Consultas) AS 'Promedio Consultas' , Avg(Total_Medicamentos)AS 'Promedio Medicamento' , Avg(Total_Horas) AS 'Promedio Horas'  FROM tabla  GROUP BY Trimestre  
Saludos

el bare:
Que tal Tano, jejeje, asi es, las colmnas estan mal subrayadas, deberia ser de manera vertical... ^_^  ^_^


Cuando dices Avg(Nombre_Columna)...que es el Avg??..Algun Alias??..no se mucho sobre SQL, pero creo que el AS era utilizado para apodar o dar alias a una columna....aaaaa, y que significa "<>"??

y otra pregunta, cuando se hace esta consulta...


--- Código: C++ ---  SELECT (Total_Consultas + Total_Medicamentos + Total_Horas) / 3  AS 'Promedio' FROM tabla WHERE Trimestre <> 'Promedio anual'  
Como se van a sumar las columnas?...se suma primero cada columna, y luego los totales de la suma de cada columna se suman y se divide entre 3??...o se suma como esta subrayado en la imagen??

Por cierto, ahorita estoy probando algunas consultas, me llamo la atencion lo de SUM, la hice y me sumo lo q habia en la columna, pero mi pregunta es..que va a pasar cuando se agreguen mas registros a la tabla?....hay alguna consulta para obtener el numero de registros que hay en la tabla?..asi para dividirla entre ese numero y no uno fijo...

Saludos.... :hola:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa