Consulta que recupere solo una fila

28/09/2004 - 17:37 por Julio Rossi | Informe spam
Hola gente del grupo! A ver si alguien puede orientarme para hacer esto:
tengo una tabla con los siguientes datos

CANTIDAD NIC OTROS CAMPOS...
1 A
3 A
4 B
9 A

¿Como puedo recuperar solo un registro completo más la suma de CANTIDAD por
cada NIC?
Es decir:

13 A OTROS CAMPOS...
4 B

Gracias anticipadas!

Julio Rossi

Preguntas similare

Leer las respuestas

#1 Fernando España
28/09/2004 - 18:01 | Informe spam
select nic, sum(cantidad) from
tabla group by nic


Fernando España



"Julio Rossi" escribió en el mensaje
news:%
Hola gente del grupo! A ver si alguien puede orientarme para hacer esto:
tengo una tabla con los siguientes datos

CANTIDAD NIC OTROS CAMPOS...
1 A
3 A
4 B
9 A

¿Como puedo recuperar solo un registro completo más la suma de CANTIDAD


por
cada NIC?
Es decir:

13 A OTROS CAMPOS...
4 B

Gracias anticipadas!

Julio Rossi




Respuesta Responder a este mensaje
#2 Julio Rossi
28/09/2004 - 19:10 | Informe spam
Gracias Fernando!! La solución que me indicas funciona perfectamente para
los dos campos seleccionados, pero cuando agrego otro/s campos de los 15
necesarios (Ej: CODIGO) me indica el siguiente error:
La columna 'CODIGO' de la lista de selección no es válida, porque no está
contenida en una función de agregado ni en la cláusula GROUP BY.
Habrá alguna otra forma?
Gracias nuevamente!

Julio Rossi



"Fernando España" escribió en el mensaje
news:
select nic, sum(cantidad) from
tabla group by nic


Fernando España



"Julio Rossi" escribió en el mensaje
news:%
> Hola gente del grupo! A ver si alguien puede orientarme para hacer esto:
> tengo una tabla con los siguientes datos
>
> CANTIDAD NIC OTROS CAMPOS...
> 1 A
> 3 A
> 4 B
> 9 A
>
> ¿Como puedo recuperar solo un registro completo más la suma de CANTIDAD
por
> cada NIC?
> Es decir:
>
> 13 A OTROS CAMPOS...
> 4 B
>
> Gracias anticipadas!
>
> Julio Rossi
>
>
>
>


Respuesta Responder a este mensaje
#3 MAURICIO
29/09/2004 - 14:29 | Informe spam
Cuando usas Group By los campos que utilizas en el SELECT
deben tener una funcion agregada (SUM, COUNT, MAX, MIN,
AVG) o ser parte de la lista de columnas luego del GROUP
BY

Select C1, C2, Count(C3), Sum(C4)
From Tabla1
Group By C1, C2


o

Select C1, MAX(C2), Count(C3), Sum(C4)
From Tabla1
Group By C1

Espero te aclare tu situacion

EXITOS



Gracias Fernando!! La solución que me indicas funciona


perfectamente para
los dos campos seleccionados, pero cuando agrego otro/s


campos de los 15
necesarios (Ej: CODIGO) me indica el siguiente error:
La columna 'CODIGO' de la lista de selección no es


válida, porque no está
contenida en una función de agregado ni en la cláusula


GROUP BY.
Habrá alguna otra forma?
Gracias nuevamente!

Julio Rossi



"Fernando España" escribió


en el mensaje
news:
select nic, sum(cantidad) from
tabla group by nic


Fernando España



"Julio Rossi" escribió en el




mensaje
news:%
> Hola gente del grupo! A ver si alguien puede




orientarme para hacer esto:
> tengo una tabla con los siguientes datos
>
> CANTIDAD NIC OTROS CAMPOS...
> 1 A
> 3 A
> 4 B
> 9 A
>
> ¿Como puedo recuperar solo un registro completo más




la suma de CANTIDAD
por
> cada NIC?
> Es decir:
>
> 13 A OTROS




CAMPOS...
> 4 B
>
> Gracias anticipadas!
>
> Julio Rossi
>
>
>
>






.

Respuesta Responder a este mensaje
#4 Julio Rossi
29/09/2004 - 17:32 | Informe spam
Gracias Mauricio, me ha quedado claro el tema, aunque para lo que necesito
hacer no me es útil.
Será que no hay manera de recuperar estos datos? Ni con una subconsulta o
algo así? Tendría que hacer un cursor ?
Gracias nuevamente.

Julio Rossi


"MAURICIO" escribió en el mensaje
news:159601c4a620$0880ce80$
Cuando usas Group By los campos que utilizas en el SELECT
deben tener una funcion agregada (SUM, COUNT, MAX, MIN,
AVG) o ser parte de la lista de columnas luego del GROUP
BY

Select C1, C2, Count(C3), Sum(C4)
From Tabla1
Group By C1, C2


o

Select C1, MAX(C2), Count(C3), Sum(C4)
From Tabla1
Group By C1

Espero te aclare tu situacion

EXITOS



Gracias Fernando!! La solución que me indicas funciona


perfectamente para
los dos campos seleccionados, pero cuando agrego otro/s


campos de los 15
necesarios (Ej: CODIGO) me indica el siguiente error:
La columna 'CODIGO' de la lista de selección no es


válida, porque no está
contenida en una función de agregado ni en la cláusula


GROUP BY.
Habrá alguna otra forma?
Gracias nuevamente!

Julio Rossi



"Fernando España" escribió


en el mensaje
news:
select nic, sum(cantidad) from
tabla group by nic


Fernando España



"Julio Rossi" escribió en el




mensaje
news:%
> Hola gente del grupo! A ver si alguien puede




orientarme para hacer esto:
> tengo una tabla con los siguientes datos
>
> CANTIDAD NIC OTROS CAMPOS...
> 1 A
> 3 A
> 4 B
> 9 A
>
> ¿Como puedo recuperar solo un registro completo más




la suma de CANTIDAD
por
> cada NIC?
> Es decir:
>
> 13 A OTROS




CAMPOS...
> 4 B
>
> Gracias anticipadas!
>
> Julio Rossi
>
>
>
>






.

Respuesta Responder a este mensaje
#5 Maxi
29/09/2004 - 17:45 | Informe spam
Julio, por lo que vi no te ha sido util el caso que te mandaron los amigos!!
pero NO uses cursor para esto!!

Podrias armar algo asi como

SELECT T1.OTROS_CAMPOS, T2.VALOR FROM TABLA T1 INNER JOIN
(SELECT SUM(CANTIDAD) AS VALOR, NIC FROM TABLA GROUP BY NIC) T2 ON
T1.NIC = T2.NIC

Esto hara line a linea, pero si quieres agrupar deberias usar los criterios
que antes te mencionaron y debes poner los otros campos en el Group by!!

Suerte


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Julio Rossi" escribió en el mensaje
news:%
Hola gente del grupo! A ver si alguien puede orientarme para hacer esto:
tengo una tabla con los siguientes datos

CANTIDAD NIC OTROS CAMPOS...
1 A
3 A
4 B
9 A

¿Como puedo recuperar solo un registro completo más la suma de CANTIDAD


por
cada NIC?
Es decir:

13 A OTROS CAMPOS...
4 B

Gracias anticipadas!

Julio Rossi









Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.769 / Virus Database: 516 - Release Date: 24/09/2004
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida