elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Varias dudas Postgresql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Varias dudas Postgresql  (Leído 3,257 veces)
Servia


Desconectado Desconectado

Mensajes: 346


Ver Perfil
Varias dudas Postgresql
« en: 18 Marzo 2013, 20:06 pm »

1-.Tengo un array en una tabla y quiero hacer un AVG de sus valores:
¿cómo se une un array (implode) pero en el propio sql?
SELECT AVG(IMPLODE(',',campo_array)) FROM ....

¿cómo demonios era? recuerdo que se podía hacer, sino alguna otra idea?

2-. ¿Cómo actualizo un objeto en postgresql?
Tabla
-curso: contiene el objeto tutor, el cual tiene el atributo horas_lectivas.

UPDATE curso SET tutor.horas_lectivas=tutor.horas_lectivas+2;

Me marca que intenta usar tutor como si fuera una tabla, y claro está, no es así.



« Última modificación: 18 Marzo 2013, 22:19 pm por Servia » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Varias dudas mySQL y Postgresql
« Respuesta #1 en: 18 Marzo 2013, 20:33 pm »

:http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_group-concat ?


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Servia


Desconectado Desconectado

Mensajes: 346


Ver Perfil
Re: Varias dudas mySQL y Postgresql
« Respuesta #2 en: 18 Marzo 2013, 22:21 pm »

:http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_group-concat ?

Erré al indicar mySQL, la duda también va dirigida a postgresql.
He probado cosas como:
-array_to_string
-string_agg
-array_append
-array_agg

parece que nada cuela al ser un array que es atributo de un objeto y no una columna.
En línea

Carloswaldo
Traductor
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.762


Nos reservamos el derecho de ban.


Ver Perfil WWW
Re: Varias dudas Postgresql
« Respuesta #3 en: 9 Abril 2013, 23:34 pm »

Para el caso 1 ¿es necesario tener estos datos en un array? ¿por qué no en columnas separadas? En todo caso podrías resolverlo creando una función:

Código
  1. CREATE OR REPLACE FUNCTION promedio_array(numeros INT[])
  2. RETURNS NUMERIC AS $$
  3. DECLARE
  4. promedio NUMERIC;
  5. suma INT;
  6. numero INT;
  7. BEGIN
  8. suma = 0;
  9. foreach numero IN array numeros
  10. loop
  11. suma = suma + numero;
  12. END loop;
  13. promedio = suma::NUMERIC / array_length(numeros,1);
  14. RETURN promedio;
  15. END;
  16. $$ LANGUAGE plpgsql;

Y luego haciendo la consulta:

Código
  1. SELECT avg(promedio_array(numero)) FROM tabla;

Para el caso 2, no estoy seguro de a qué te refieres, pero creo que lo que quieres hacer es:

Código
  1. UPDATE curso.tutor SET horas_lectivas=horas_lectivas+2;
« Última modificación: 9 Abril 2013, 23:39 pm por Carloswaldo » En línea





Dominio en venta: https://forojapones.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines