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

#6 Julio Rossi
29/09/2004 - 19:29 | Informe spam
Gracias Maxi!! Está más cerca de lo que necesito.
Como bien dices esta instrucción me recupera bien cada fila, con todos los
campos más el de cantidad, pero más de una vez cada fila (la cantidad de NIC
iguales que existan).
Si le agrego la cláusula GROUP BY vuelvo al comienzo, ya que no puedo
recuperar todos los campos o me recupera más de una fila igual por NIC.
¿Si no uso un cursor, como podría hacerlo?

Gracias nuevamente y un cordial saludo

Julio Rossi



"Maxi" escribió en el mensaje
news:#
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
#7 Maxi
29/09/2004 - 19:40 | Informe spam
Julio!! a ver, si los otros campos son distintos en contenido no hay forma
de hacerlo ni con cursor ni con nada!!

Me parece que hay algun error de exposicion tuya o de concepto!! serias tan
amable de pasar mas datos y mostrarme como deberia quedar la consulta?

Arma un .txt que no pese mucho (a lo sumo 10k) y lo vemos!! si es grande
pasamelo a mi mail personal y vemos como armarlo

Un abrazo




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:
Gracias Maxi!! Está más cerca de lo que necesito.
Como bien dices esta instrucción me recupera bien cada fila, con todos los
campos más el de cantidad, pero más de una vez cada fila (la cantidad de


NIC
iguales que existan).
Si le agrego la cláusula GROUP BY vuelvo al comienzo, ya que no puedo
recuperar todos los campos o me recupera más de una fila igual por NIC.
¿Si no uso un cursor, como podría hacerlo?

Gracias nuevamente y un cordial saludo

Julio Rossi



"Maxi" escribió en el mensaje
news:#
> 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
>
>







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
#8 Julio Rossi
30/09/2004 - 03:22 | Informe spam
Maxi, es como dices, un error mío de concepto y de exposición. La
instrucción anterior funciona perfectamente, solo que cuando la probé, mis
neuronas (2) no estaban al 100% y le agregaba al GROUP BY una columna de un
campo CODIGO que es distinta para cada fila y que no es necesaria. Cuando
leí el primer párrafo de tu última exposición me di cuenta...:(
Mil gracias nuevamente y un abrazo.

Julio Rossi


"Maxi" escribió en el mensaje
news:
Julio!! a ver, si los otros campos son distintos en contenido no hay forma
de hacerlo ni con cursor ni con nada!!

Me parece que hay algun error de exposicion tuya o de concepto!! serias


tan
amable de pasar mas datos y mostrarme como deberia quedar la consulta?

Arma un .txt que no pese mucho (a lo sumo 10k) y lo vemos!! si es grande
pasamelo a mi mail personal y vemos como armarlo

Un abrazo




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:
> Gracias Maxi!! Está más cerca de lo que necesito.
> Como bien dices esta instrucción me recupera bien cada fila, con todos


los
> campos más el de cantidad, pero más de una vez cada fila (la cantidad de
NIC
> iguales que existan).
> Si le agrego la cláusula GROUP BY vuelvo al comienzo, ya que no puedo
> recuperar todos los campos o me recupera más de una fila igual por NIC.
> ¿Si no uso un cursor, como podría hacerlo?
>
> Gracias nuevamente y un cordial saludo
>
> Julio Rossi
>
>
>
> "Maxi" escribió en el mensaje
> news:#
> > 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
> >
> >
>
>



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


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida