Consulta DB2 con COUNT y DISTINCT

Resuelto
Pitu Mensajes publicados 1460 Estado Colaborador -  
Pitu Mensajes publicados 1460 Estado Colaborador -
Hola,

Tengo un pequeño problema para escribir mi consulta DB2 (en MVS/SPUFI).

Estructura de la tabla: (las columnas xxx no me interesan, pero existen en la tabla)

 Cle1 Cle2 Cle3 Rub1 Rub2 Rub3 Rub4 xxx1 xxx2 xxx3 ... A001 B001 C001 1234 5678 0000 aaa1 aaa2 aaa3 A001 B001 C001 1234 5678 0000 bbb1 bbb2 ccc3 A001 B001 C001 4321 5678 0000 ccc1 ddd2 ddd3 A001 B001 C001 1234 5678 0000 ... A002 B001 C001 2345 6789 1111 ... A002 B001 C001 2345 6789 1111 ... A002 B001 C001 2345 6789 1111 ... A003 B001 C001 3456 7890 1111 ... A003 B001 C001 3456 7890 1111 ... A003 B001 C001 3465 7890 2222 ... A003 B001 C001 3456 7890 3333 ... A003 B001 C001 6543 7890 1111 ... A003 B001 C001 3456 7890 1111 ...


Lo que quiero saber es si, en esta tabla, existen filas para una clave constituida por las 3 primeras columnas para las cuales los valores Rub1, Rub2 y Rub3 no son todos iguales.
Idealmente, me gustaría obtener para cada grupo de columnas clave el conteo DISTINCT de Rub1, Rub2 y Rub3 cuando no son todos iguales.
 A001 B001 C001 : 2 A002 B001 C001 : 1 A003 B001 C001 : 4 


Debería bastar combinar COUNT, DISTINCT y GROUP BY, pero me quedo atascado...
No tengo obligación de hacerlo en una única consulta, puedo encadenar varias, comparar resultados de COUNT, etc ...

Gracias de antemano si alguien puede darme una mano.

Configuración: Windows 2003 / Internet Explorer 6.0

--

  (:*Þ    Pitù
Ni modo, ni siquiera casi modo

1 respuesta

  1. Pitu Mensajes publicados 1460 Estado Colaborador 125
     
    Finalmente, yo mismo traigo la respuesta tras muchos intentos ...

    SELECT clave1, clave2, clave3, COUNT(*) FROM(
    SELECT DISTINCT
    clave1, clave2, clave3, rub1, rub2, rub3, rub4
    FROM Table ) A
    GROUP BY
    clave1, clave2, clave3
    ;

    --

      (:*Þ   Pitù
    Ni modo, ni siquiera quasi modo
    2