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

Problemas con select

Estas en el tema de Problemas con select en el foro de SQL Server en Foros del Web. Ayuda a todos, fijense que estoy haciendo el query siguiente: SELECT ((MAX(ico.correlativo)) +'-'+ cast(ico.año AS varchar)+'-'+ cast(sup.puesto AS nvarchar)) AS Correlativo FROM Correlativos as ico ...
  #1 (permalink)  
Antiguo 28/04/2008, 10:14
Avatar de cadesa  
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 17 años, 2 meses
Puntos: 0
Problemas con select

Ayuda a todos, fijense que estoy haciendo el query siguiente:

SELECT ((MAX(ico.correlativo)) +'-'+ cast(ico.año AS varchar)+'-'+ cast(sup.puesto AS nvarchar)) AS Correlativo FROM Correlativos as ico JOIN Puestos as sup on sup.puesto = ico.puesto WHERE ico.año = '" + Date.Now.Year.ToString() + "' AND sup.supervisor = '" + txtcodsup.Text + "'GROUP BY sup.supervisor, ico.correlativo, ico.año;

en el cual tengo el ultimo correlativo, el dato que resulta es "1-2008-1" y esta bien pero cuando le agrego en "MAX(ico.correlativo)+1" me da el siguiente resultado "2011" me pueden ayudar para ver como lo reparo.
  #2 (permalink)  
Antiguo 28/04/2008, 10:37
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 11 meses
Puntos: 38
Re: Problemas con select

El error que comentas no dice gran cosa. Si tienes el texto correspondiente seria mucho mejor.

Segun el query, no se identifica de que tipo de dato es ico.Correlativo.

Si es de tipo entero o numerico, deberias convertir el resultado a varchar antes de concatenarlo.

Si es de tipo caracter hay que convertirlo a un tipo numerico para sumarlo y luego convertirolo otra vez a caracter para concatenarlo.


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 28/04/2008, 11:16
Avatar de cadesa  
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problemas con select

ahhh
lo que pasa es que el ico.correlativo es nvarchar por eso no lo casteo sino que hago que los demas sean nvarchar, el error que yo menciono es que sin el "+1" el select me da

"1-2008-1" (este formato esta bueno)

mientras que con el "+1" me da

"2011" (este formato no)

entonces no se cual es el error
  #4 (permalink)  
Antiguo 28/04/2008, 12:20
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 11 meses
Puntos: 38
Re: Problemas con select

Entonces no te marca error, sino que te genera una salida no valida.

Si lo que quieres es incrementar en uno 1 max ico.correlativo, debes covertirlo a un tipo de dato numerico, hacer la suma y luego convertirlo a varchar.

Si no es esto, comenta cual es la salida que esperas cuando concatenas el +1...

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 29/04/2008, 09:25
Avatar de cadesa  
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problemas con select

Gracias por la ayuda, lo hare de esa forma
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:18.