SQL - indice sen subSelects

 
Vista:

indice sen subSelects

Publicado por JJRR (1 intervención) el 18/11/2019 16:29:23
Hola,

Me interesaría seleccionar la enésima row del resultado de una SELECT ( que realiza un pequeño filtrado inicial)

El codigo és el siguiente:

SELECT * FROM (SELECT * FROM cb_tabla WHERE stateCode == 0) WHERE ROWID = 2

Done "SELECT * FROM cb_tabla WHERE stateCode == 0)" selecciona todas las filas de la tabla donde el campo 'stateCode ' és zero. De las fila que devuelve deberia retornar la seguna fila al completo. Però no devulve ninguna fila.

¿Donde está el error? ¿Tienen alguna alternativa a este código?
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 Francisco
Val: 150
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

indice sen subSelects

Publicado por Francisco (62 intervenciones) el 18/11/2019 19:49:04
Hola

Intenta con una windows function asi:

1
2
3
4
5
6
7
WITH t AS(
	SELECT row_number() OVER() ROWID, *
	FROM cb_tabla
	WHERE stateCode = 0
)
SELECT CTID, * FROM t
WHERE t.ROWID = 2

Nota: La sentencia de arriba es postgres, este no maneja ROWID, sin embargo creo que esta sentencia puede funcionar para cualquiera manejador de base de datos que la soporte ya que forma parte del estandar SQL

Saludos
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