SQL - AYUDA subconsulta con count

 
Vista:

AYUDA subconsulta con count

Publicado por Ariel Setton (8 intervenciones) el 02/12/2005 21:28:24
Hola, estoy teniendo un inconveniente para hacer una subconsulta:

tengo registros que tienen 10 columnas (id, col1, col2, col3, col4....col10).
El objetivo de mi consulta es que :
a) la primera agregue hasta la octava columna, y que muestre solamente los campos que están repetidos (una vez agregados)
b) La segunda, que con esas columnas que se que están repetidas, que me muestre todos los campos de cada uno de esos registros (que pertenecen a la misma tabla de la primer consulta).

La primera consulta la resuelvo con
SELECT c2.col1, c2.col2,...,c2.col8
FROM tabla c2
GROUP BY c2.col1, c2.col2,...,c2.col8
HAVING count(*)>1;

Se que funciona bien, porque sola funciona, pero al tomarla como subonculta, me devuelve todos los campos existentes en la tabla. Lo formé asi:

SELECT *
FROM tabla c1
WHERE EXISTS (
SELECT c2.col1, c2.col2,...,c2.col8
FROM tabla c2
GROUP BY c2.col1, c2.col2,...,c2.col8
HAVING count(*)>1
);

Devuelve todos los campos!! Ocurre lo mismo con la siguiente consulta:

SELECT *
FROM tabla c1
WHERE c1.col1, c1.col2,...,c1.col8 IN
(
SELECT c2.col1, c2.col2,...,c2.col8
FROM tabla c2
GROUP BY c2.col1, c2.col2,...,c2.col8
HAVING count(*)>1
);

Ayuda por favor!!
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:AYUDA subconsulta con count

Publicado por Isaías (5072 intervenciones) el 02/12/2005 22:47:59
En lugar de hacer SUBCONSULTA, genera un JOIN

SELECT COL1...............COL18
FROM TABLAA a JOIN TABLAB b
ON a.COL1 = b.COL1
AND a.COL2 = b.COL2
...........................b.COL18

¿Funciona?
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:AYUDA subconsulta con count

Publicado por Ariel Setton (8 intervenciones) el 05/12/2005 16:14:08
Isaias: Gracias por la respuesta, pero creo que esta consulta no genera lo que buscaba (asi entiendo yo) porque lo que buscaba era de una misma tabla generar 2 consultas, y el SQL que mandaste selecciona de 2 tablas diferentes. Si no me equivoco lo que me faltaba era en la subconsulta poner una condicion de igualdad entre c1 y c2.

Muchas gracias igual!
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