Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/01/2014, 11:12
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Como pasar la siguiente variable varchar a int sqlserver

te pregunte para que necesitabas esa variable y no me comentaste, aqui lo mas sencillo es que guardes el resultado en una variable de tipo tabla(hay una funcion para hacer lo que necesitas pero es mas codigo)

Código SQL:
Ver original
  1. DECLARE @IdWagerParlay TABLE (id INT)
  2.  
  3. INSERT INTO @IdWagerParlay
  4. SELECT  D.[IdWager]  FROM GRADEDWAGERDETAIL D, GRADEDWAGERHEADER H, GAME G, PERIOD P, AGENT A, WAGERTYPE W
  5. WHERE   D.[IdWager]     = H.[IdWager] AND
  6.         D.[IdGame]      = G.[IdGame]  AND
  7.         H.[IdAgent]     = A.[IdAgent] AND
  8.         H.[IdWagerType] = W.[IdWagerType] AND
  9.         D.[IdSport]     = P.[IdSport] AND
  10.         D.[Period]      = P.[NumberOfPeriod] AND
  11.         W.[Description] LIKE '%PARLAY%' AND
  12.         H.[SettledDate] >= CONVERT(datetime,('2014-01-16 00:00:01')) AND
  13.         H.[SettledDate] <= CONVERT(datetime,('2014-01-16 23:59:59')) AND
  14.         H.[IdAgent] = 5039
  15. GROUP BY D.[IdWager]
  16.  
  17. SELECT * FROM GRADEDWAGERDETAIL D WHERE IdWager IN (SELECT * FROM @IdWagerParlay)

este es un modo y este es otro:

Código SQL:
Ver original
  1. SELECT  D.[IdWager] INTO #temp  FROM GRADEDWAGERDETAIL D, GRADEDWAGERHEADER H, GAME G, PERIOD P, AGENT A, WAGERTYPE W
  2. WHERE   D.[IdWager]     = H.[IdWager] AND
  3.         D.[IdGame]      = G.[IdGame]  AND
  4.         H.[IdAgent]     = A.[IdAgent] AND
  5.         H.[IdWagerType] = W.[IdWagerType] AND
  6.         D.[IdSport]     = P.[IdSport] AND
  7.         D.[Period]      = P.[NumberOfPeriod] AND
  8.         W.[Description] LIKE '%PARLAY%' AND
  9.         H.[SettledDate] >= CONVERT(datetime,('2014-01-16 00:00:01')) AND
  10.         H.[SettledDate] <= CONVERT(datetime,('2014-01-16 23:59:59')) AND
  11.         H.[IdAgent] = 5039
  12. GROUP BY D.[IdWager]
  13.  
  14. SELECT * FROM GRADEDWAGERDETAIL D WHERE IdWager IN (SELECT * FROM #temp)

saludos....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me