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

duda en paginado en pgsql

Estas en el tema de duda en paginado en pgsql en el foro de PostgreSQL en Foros del Web. tengo esto echo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT * FROM devices $print ORDER BY id DESC   LIMIT %d , OFFSET %d Cita: ...
  #1 (permalink)  
Antiguo 01/05/2014, 14:49
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 766
Antigüedad: 12 años, 6 meses
Puntos: 10
duda en paginado en pgsql

tengo esto echo

Código SQL:
Ver original
  1. SELECT * FROM devices $print ORDER BY id DESC
  2.  
  3. LIMIT %d, OFFSET %d
Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.
y me esta tirando error

Query failed: ERROR: syntax error at or near "OFFSET" LINE 1: SELECT * FROM devices ORDER BY id DESC LIMIT 4, OFFSET 0 ^

que puede ser

Última edición por gnzsoloyo; 01/05/2014 a las 14:58 Razón: Código de programación no permitido en foros de Bases de Datos.
  #2 (permalink)  
Antiguo 01/05/2014, 15:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: duda en paginado en pgsql

Estimo que el error es la coma de separación entre LIMIT y OFFSET, usual en MySQL, pero no indicada en el manual de PosgreSQL
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 02/05/2014, 17:23
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 766
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: duda en paginado en pgsql

tengo problema con esto amigo

SELECT * FROM devices INNER JOIN users ON (devices.user_id = users.id) WHERE username=text

y me tira este eror

Error de SQL:

ERROR: column reference "username" is ambiguous
LINE 1: ... JOIN users ON (devices.user_id = users.id) WHERE username =...
^
En la declaración:
SELECT COUNT(*) AS total FROM (SELECT * FROM devices INNER JOIN users ON (devices.user_id = users.id) WHERE username = text) AS sub
  #4 (permalink)  
Antiguo 02/05/2014, 20:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: duda en paginado en pgsql

Cita:
ERROR: column reference "username" is ambiguous
Este error de valor ambiguo existe en todos los DBMS, y simepre significa lo mismo: Estás invocando un nombre de columna que aparece en más de una tabla, pero sin tomar el cuidado de indicar por nombre o alias a cuál tabla pertenece o sobre cuál se hará la valoración.
"username" aparece tato en "devices" como en "users", por lo que no puedes ponerla sin indicar sobre qué tabla la verificas.
Eso, sin contar que estás complicando innecesariamente la consulta...
Código SQL:
Ver original
  1. SELECT COUNT(*) total
  2. FROM devices D INNER JOIN users U ON D.user_id = U.id
  3. WHERE U.username = text
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/05/2014, 07:14
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 766
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: duda en paginado en pgsql

Error de SQL:

ERROR: column "text" does not exist
LINE 1: ...JOIN users U ON D.user_id = U.id WHERE U.username=text) AS s...
^
En la declaración:
SELECT COUNT(*) AS total FROM (SELECT COUNT(*) total FROM devices D INNER JOIN users U ON D.user_id = U.id WHERE U.username=text) AS sub
  #6 (permalink)  
Antiguo 03/05/2014, 07:24
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 766
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: duda en paginado en pgsql

gracias lo solucione de esta manera amigo

Código SQL:
Ver original
  1. SELECT t1.id, t1.username, t2.username AS username2
  2. FROM devices t1 INNER JOIN users t2 ON (t1.user_id=t2.id)
  3. WHERE t1.username=text

Última edición por gnzsoloyo; 03/05/2014 a las 07:46
  #7 (permalink)  
Antiguo 03/05/2014, 07:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: duda en paginado en pgsql

¿No era que querías un total de algo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: paginado
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 01:02.