Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Crear cuenta

SQL - Sentencias Select anidadas

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:Sentencias Select anidadas
Autor:JOSE ANTONIO (5 intervenciones)
Fecha:01/10/2001 21:00:11
Hola a todos, estoy intentando hacer una sentencia Select anidada para poder hacer una única suma de un campo 'x' agrupado por varios campos, ya que en la segunda sentencia, me salen varias sumas del agrupamiento. La sintaxis que he usado es la siguiente:

SELECT sum(x) FROM TABLA WHERE x IN (SELECT x, y, zFROM SEROLOGIA GROUP BY x, y, z) GROUP BY y.

Si alguien puede ayudarme se lo agradecería.

Saludos

Jose Antonio
Responder Subir
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:Sentencias Select anidadas
Autor:Pedro (3 intervenciones)
Fecha:02/10/2001 12:29:56
El unico problema que le veo a tu select está en la segunda parte. Cuando usas Select con la forma \"WHERE x IN\" la segunda select, la que va en parentesis, no puede recuperar mas que un campo. No se si la solución que te doy te será util pero deberias intentar algo así:

SELECT sum(x) FROM TABLA WHERE x IN (SELECT x FROM SEROLOGIA )
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:Sentencias Select anidadas
Autor:JOSE ANTONIO (5 intervenciones)
Fecha:02/10/2001 19:12:30
Hola Pedro, la sentencia que me has escrito no es la que necesito. O sea yo necesito sumar un campo de una tabla, pero no todos los registros, sino los distintos según otros campos, y cuando intento la siguiente sentencia:

SELECT sum(x) FROM TABLA WHERE x IN (SELECT x FROM TABLA GROUP BY x,y,z) GROUP BY y

me salen tantas sumas como grupos distintos de x,y,z haya, pero yo quiero que a la vez me sume esos grupos, o sea, que si hay 10 registros distintos con x,y,z me sume esos 10 registros sólo, y no me sume 2 registros de cada uno de los grupos x,y,z, para que al final me quede la suma de los 10 registros con x,y,z distintos agrupados por y, no todos los registros de la tabla agrupados por y.

Espero haberme expresado y que puedas ayudarme.

Saludos

Jose Antonio
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:Sentencias Select anidadas
Autor:alberto (19 intervenciones)
Fecha:03/10/2001 09:08:44
En principio no se si he entendido bien tu problema, pero al analizar la sentencia que usas, la parte WHERE x IN (SELECT x FROM TABLA GROUP BY x,y,z) para lo único que sirve es para seleccionar los registros que se van a recuperar y por lo tanto sumar, de tal forma que si los TABLA es la misma que en SELECT sum(x) FROM TABLA, dicha parte no selecciona nada y tu sentencia queda exactamente igual que si pones SELECT sum(x) FROM TABLA GROUP BY y, de tal forma que lo que realmente obtenemos es la suma de x agrupada por los distintos valores de y.
Ahora bién, si lo que quieres es obtener la suma de x sin agrupar por nada, la sentencia que deberías usar es SELECT sum(x) FROM TABLA.
Espero que te sirva.
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:Sentencias Select anidadas
Autor:JOSE ANTONIO (5 intervenciones)
Fecha:03/10/2001 19:39:47
Hola a los tres. Gracias por vuestra ayuda. Ya he conseguido hacer lo que quería con la sentencia:

SELECT sum(x) FROM (SELECT x,y,z FROM TABLA GROUP BY x,y,z) GROUP BY y

Saludos

Jose Antonio
Comentar Subir