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

SUM mssql

Estas en el tema de SUM mssql en el foro de SQL Server en Foros del Web. Hola estoy intentando hacer una suma de unas filas. (Sumar los créditos de los usuarios que tienen ConnectStat a 1) tabla MEMB_CREDITS credits - memb___id ...
  #1 (permalink)  
Antiguo 22/04/2009, 12:06
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 6 meses
Puntos: 56
SUM mssql

Hola estoy intentando hacer una suma de unas filas.

(Sumar los créditos de los usuarios que tienen ConnectStat a 1)

tabla MEMB_CREDITS
credits - memb___id
20 - harry
30 - potter
40 - hermione

tabla MEMB_STAT
memb___id - ConnectStat
harry - 1
potter - 0
hermione- 1

SELECT SUM(c.Credits) FROM MEMB_CREDITS c LEFT JOIN MEMB_STAT s ON c.memb___id=s.memb___id WHERE s.ConnectStat='1' GROUP BY c.memb___id

Pero me aparece el siguiente error:

No se puede resolver el conflicto de intercalación para el operador equal to.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #2 (permalink)  
Antiguo 22/04/2009, 13:37
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: SUM mssql

Al parecer los campos en ambas tablas tienen un collate (metodo de intercalacion) diferente, solo tienes que agregar con cual de los dos quieres realizar la comparacion, algo como :

Código:
SELECT SUM(c.Credits) 
FROM       MEMB_CREDITS c 
LEFT JOIN 
               MEMB_STAT s 
ON           c.memb___id=s.memb___id   collate Traditional_Spanish_CI_AS 
WHERE      s.ConnectStat='1' 
GROUP BY c.memb___id
El collate lo puedes ver en la vista de diseno de tus tablas, seleccionas tu campo y en las propiedades te dice cual es el collate que tiene el campo tipo caracter.

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 22/04/2009, 14:00
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 6 meses
Puntos: 56
Respuesta: SUM mssql

Ok me ha funcionado, muchas gracias, este error solo lo tendría al ejecutar la función SUM ()?
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #4 (permalink)  
Antiguo 22/04/2009, 14:29
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: SUM mssql

no es por la funcion sum, sino por los campos tipo char...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 24/04/2009, 09:28
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 6 meses
Puntos: 56
Respuesta: SUM mssql

Lo pregunto por que hago otras queries que no son SUM con las mismas tablas y filas y no me da problemas.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #6 (permalink)  
Antiguo 24/04/2009, 09:38
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: SUM mssql

okay.

Los metodos de intercalacion solo aplican para los campos tipo caracter.



Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
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 18:56.