DB2 - agrupar por un campo ?

 
Vista:

agrupar por un campo ?

Publicado por Ruben (1 intervención) el 11/04/2007 19:42:05
Como estan colegas desarrolladores.. mi tema es el siguiente:
en varias ocaciones se me ha presentado el problema de que tengo que generar digamos un archivo con varios datos, ej. doc.id, nombre, domicilio, etc. Pero. el doc.id es un codigo primario, es decir tengo que cargar una sola vez.. y hasta donde yo se el db2 no permite hacer un group by doc.id solamente como lo hacen otras bases de dato como por ej. el mysql.
Mi pregunta es: existe en db2 forma de hacer esto ?
porque ya probe where doc.id not in (select doc.id del mismo archivo) y tampoco anda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:agrupar por un campo ?

Publicado por Chauli (43 intervenciones) el 20/04/2007 02:02:42
hola, podrias ser un poco mas especifico con la pregunta? Es decir si podes incluir algunos ejemplos de la consulta que queres hacer y de como te sale actualmente, de una tabla base y de ahi poder calcular la consulta, etc
Generalmente cuando queres agrupar por una clave primaria sin usar niguna funcion de agregacion (SUM, COUNT, AVG,etc) no es necesario agrupar, por ahi ordenando solamente puedas obtener el resultado que buscas.
Ademas si usas la clausula GROUP BY es casi siempre para usar alguna funcion de agregacion.
Saludos!
Chauli
DB2 UG NEA
www.db2ug.com.ar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agrupar por un campo ?

Publicado por rmollb (2 intervenciones) el 25/06/2007 22:55:15
Yo también, tengo una duda similar ...

Necesito utilizar la instrucción GROUP BY pero con una parte de un elemento de la tabla (campo_5 posición 1 de largo 7), pero se rechaza.

SELECT (SUBSTRING(campo_5, 1, 7)), DIGITS(COUNT(*))
FROM table_name
GROUP BY (SUBSTRING(campo_5, 1, 7));

y se rechaza por,

SQLCODE = -104, ERROR: ILLEGAL SYMBOL "(". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: <IDENTIFIER>
000008 DSNT418I SQLSTATE = 42601 SQLSTATE RETURN CODE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:agrupar por un campo ?

Publicado por rmollb (2 intervenciones) el 27/06/2007 15:38:41
Según IBM indica : "usar una vista ..." como sigue :

CREATE VIEW ARVO AS
SELECT SUBSTR(FIELD01_VALUE,1,2) AS ARVO
FROM ONDEM.CDDIR21;
SET CURRENT DEGREE = 'ANY';
SELECT ARVO, COUNT(*)
FROM ARVO
GROUP BY ARVO
ORDER BY ARVO;

, pero es rechazada

-551 Usuario no tiene privilegios para crear una vista en base xxxxx.


¿Alguien tiene algún link para ver la sentencia y formato GROUP BY?


de antemano muchas gracias.



rmollb [email protected] 5

Fecha: 25/06/2007 22:55:15
Asunto: RE:agrupar por un campo ?
Yo también, tengo una duda similar ...

Necesito utilizar la instrucción GROUP BY pero con una parte de un elemento de la tabla (campo_5 posición 1 de largo 7), pero se rechaza.

SELECT (SUBSTRING(campo_5, 1, 7)), DIGITS(COUNT(*))
FROM table_name
GROUP BY (SUBSTRING(campo_5, 1, 7));

y se rechaza por,

SQLCODE = -104, ERROR: ILLEGAL SYMBOL "(". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: <IDENTIFIER>
000008 DSNT418I SQLSTATE = 42601 SQLSTATE RETURN CODE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar