Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Select "variable" + Contador (Count)

Estas en el tema de Select "variable" + Contador (Count) en el foro de PostgreSQL en Foros del Web. Hola, por acá de nuevo con otro problema. Tengo que hacer un query que muestre el valor de una variable y el resultado de 5 ...
  #1 (permalink)  
Antiguo 10/09/2009, 11:03
ssh
 
Fecha de Ingreso: agosto-2009
Mensajes: 85
Antigüedad: 14 años, 7 meses
Puntos: 0
Select "variable" + Contador (Count)

Hola, por acá de nuevo con otro problema.

Tengo que hacer un query que muestre el valor de una variable y el resultado de 5 contadores. Lo de los contadores ya lo solucioné (gracias a este foro), pero la "variable" sale 3 veces en la misma tabla por lo tanto se repite 3 veces lo mismo en el resultado, el resultado del query en postgres es este:
Código:
Variable | COUNT1 | COUNT2 | COUNT3 | COUNT4 | COUNT5
      4     |      1      |      1       |      1      |      1      |      1      
      4     |      1      |      1       |      1      |      1      |      1       
      4     |      1      |      1       |      1      |      1      |      1
Y lo que quiero que salga es esto:

Código:
Variable | COUNT1 | COUNT2 | COUNT3 | COUNT4 | COUNT5
      4     |      1      |       1      |      1      |      1      |      1
(Una sola vez)

El query es este:


Código sql:
Ver original
  1. SELECT  c1.variable, c2.count1, c3.count2, c4.count3, c5.count4, c6.count5 FROM
  2. (SELECT t1.dato AS variable FROM tabla1 AS t1 WHERE t1.llave = 4) AS c1,
  3. (SELECT COUNT(t2.dato) AS count1 FROM tabla2 AS t2 WHERE t2.llave = 4) AS c2,
  4. (SELECT COUNT(t3.dato) AS count2 FROM tabla3 AS t3 WHERE t3.llave = 4) AS c3,
  5. (SELECT COUNT(t4.dato) AS count3 FROM tabla4 AS t4 WHERE t4.llave = 4) AS c4,
  6. (SELECT COUNT(t5.dato) AS count4 FROM tabla5 AS t5 WHERE t5.llave = 4) AS c5,
  7. (SELECT COUNT(t6.dato) AS count5 FROM tabla6 AS t6 WHERE t6.llave = 4) AS c6;



Pregunta: Cómo limito a que la "variable" salga una sola vez, es decir, que muestre el valor "4" una sola vez?

Gracias

Última edición por ssh; 10/09/2009 a las 16:01
  #2 (permalink)  
Antiguo 10/09/2009, 11:28
ssh
 
Fecha de Ingreso: agosto-2009
Mensajes: 85
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Select "variable" + Contador (Count)

Acabo de responderme vía "San Google".

Sólo tengo que agregarle al primer SELECT un "ORDER BY t1.dato LIMIT 1"

Queda así:


Código sql:
Ver original
  1. SELECT  c1.variable, c2.count1, c3.count2, c4.count3, c5.count4, c6.count5 FROM
  2. (SELECT t1.dato AS variable FROM tabla1 AS t1 WHERE t1.llave = 4 ORDER BY t1.dato LIMIT 1) AS c1,
  3. (SELECT COUNT(t2.dato) AS count1 FROM tabla2 AS t2 WHERE t2.llave = 4) AS c2,
  4. (SELECT COUNT(t3.dato) AS count2 FROM tabla3 AS t3 WHERE t3.llave = 4) AS c3,
  5. (SELECT COUNT(t4.dato) AS count3 FROM tabla4 AS t4 WHERE t4.llave = 4) AS c4,
  6. (SELECT COUNT(t5.dato) AS count4 FROM tabla5 AS t5 WHERE t5.llave = 4) AS c5,
  7. (SELECT COUNT(t6.dato) AS count5 FROM tabla6 AS t6 WHERE t6.llave = 4) AS c6;



Y muestra el resultado así:

Código:
Variable | COUNT1 | COUNT2 | COUNT3 | COUNT4 | COUNT5
-------+---------------------------------------------------------------------
      4     |      1      |       1      |      1      |      1      |      1
A lo mejor a alguien le puede servir.
Gracias de todas formas, comparto mi duda y solución con Uds. pues me han ayudado bastante.

Saludos

Última edición por ssh; 10/09/2009 a las 16:02
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:36.