SQL Server - Coger todos los valores a partir de una file mediante un row_number

 
Vista:
Imágen de perfil de Juan José Ramos Martínez
Val: 2
Ha aumentado su posición en 24 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Coger todos los valores a partir de una file mediante un row_number

Publicado por Juan José Ramos Martínez (7 intervenciones) el 28/04/2021 14:29:29
Hola
En un SP, estoy intentando coger los valores de una fila x que está en una tabla. El número de la fila es totalmente aleatorio, anteriormente hago esto:
1
2
3
4
5
DECLARE @SQL_Preparada nvarchar(MAX) = N'SELECT @CuentaFilas=COUNT(Campo) FROM NombreTabla'
SET @ParamDefinition = N'@CuentaFilas INT OUTPUT'
EXECUTE sp_executesql @SQL_Preparada, @ParamDefinition, @CuentaFilas = @CuentaFilas OUTPUT
 
SELECT @NumeroAzar = FLOOR(RAND()*(@CuentaFilas-0)+0);

Entonces quiero volver a realizar otra consulta pero ya haciendo un
1
WHERE ROW = @NumeroAzar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Coger todos los valores a partir de una file mediante un row_number

Publicado por Isaias (4558 intervenciones) el 28/04/2021 16:25:56
Primero, NVARCHAR(MAX) para crear un query dinamico es DEMASIADO, puedes declarar NVARCHAR(1000) y aun quedaria holgado.

¿Puedes publicar el contenido de la variable @NumeroAzar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan José Ramos Martínez
Val: 2
Ha aumentado su posición en 24 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Coger todos los valores a partir de una file mediante un row_number

Publicado por Juan José Ramos Martínez (7 intervenciones) el 28/04/2021 17:22:59
Claro, numero al azar es un int sin valor, solo cambia cuando hace el siguiente select
Esto se hace así porque se van a construir 3 preguntas totalmente aleatorias entonces para no saber el numero de fila que es quiero que se haga de esta forma
1
SELECT @NumeroAzar = FLOOR(RAND()*(@CuentaFilas-0)+0);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Coger todos los valores a partir de una file mediante un row_number

Publicado por Isaias (4558 intervenciones) el 28/04/2021 18:45:35
¿Cuál entonces seria tu duda o pregunta especificamente?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan José Ramos Martínez
Val: 2
Ha aumentado su posición en 24 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Coger todos los valores a partir de una file mediante un row_number

Publicado por Juan José Ramos Martínez (7 intervenciones) el 29/04/2021 09:41:10
Disculpame Isaias, lo conseguí ayer de últimas.
Tenía que hacer una subconsulta, con las cuales tengo muchas peleas
1
EXEC('Select * FROM (SELECT ROW_NUMBER() OVER (ORDER BY VF.NUMERO) AS FILA, VF.Serie,VF.Numero,VF.Fecha, VFI.IVA, VFI.ImpBaseImponible  FROM Ventas.VFactura VF INNER JOIN Ventas.VFacturaImporte VFI ON VF.Serie=VFI.Serie AND VF.Numero=VFI.Numero) A WHERE A.FILA='+@NumeroAzar)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar