Foros del Web » Programando para Internet » PHP »

Selects anidados con mssql (de php) y clausula limit de php

Estas en el tema de Selects anidados con mssql (de php) y clausula limit de php en el foro de PHP en Foros del Web. Buenas... Mi primer post!! Voy a tratar de ser colavorativo en este foro. Bueno, la situacion: Tengo un ABM escrito en PHP para mysql que ...
  #1 (permalink)  
Antiguo 30/04/2009, 11:15
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Selects anidados con mssql (de php) y clausula limit de php

Buenas... Mi primer post!! Voy a tratar de ser colavorativo en este foro.

Bueno, la situacion:

Tengo un ABM escrito en PHP para mysql que funciona bien... peeeeeero ahora tengo que migrarlo a SQL SERVER.

El problema de la paginacion (la falta de la valiosa clausula LIMIT de mysql) lo pensaba resolver con la sentencia anidada:

Código:
SELECT TOP 10 * FROM (SELECT TOP 40 * FROM infocomercial WHERE id_registro = id_registro ORDER BY id_registro DESC) ORDER BY id_registro ASC;
Al ejecutar la sentencia en la ventana de consultas de Microsoft SQL Server Management Studio todo marcha bien. Pero cuando hago:

Código PHP:
        $sql "SELECT TOP 10 * FROM (SELECT TOP 40 * FROM infocomercial WHERE id_registro = id_registro ORDER BY id_registro DESC) ORDER BY id_registro ASC;";
        
$rs mssql_query($sql)or die("error, y ni siquiera existe el mssql_error(), extranio a mysql:'("); 
Ahi tira error. No se como resolverlo y la verdad que agradeceria respuestas, dggluz.

Errores de conexion no hay, puesto que consultas mas sencillas, como "SELECT * FROM infocomercial;" las resuelvo bien con mssql_query($sql);

PD: disculpen la falta de teclado espaniol.

Última edición por dggluz; 30/04/2009 a las 11:25 Razón: Olvide algo :P
  #2 (permalink)  
Antiguo 30/04/2009, 16:41
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Selects anidados con mssql (de php) y clausula limit de php

Le falta nombre a tu subconsulta.
SELECT ... FROM (sub_consulta) NOMBRE
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 01/05/2009, 10:13
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Selects anidados con mssql (de php) y clausula limit de php

¡Gracias flaviovich! Disculpa mi ignorancia... pero no entiendo a qué te refieres con el nombre (¿acaso a un alias... o acaso a algo como "SELECT TOP 10 * FROM (SELECT TOP 40 * FROM infocomercial WHERE id_registro = id_registro ORDER BY id_registro DESC) sub ORDER BY id_registro ASC;", donde 'sub' sería el nombre de la subconsulta?). Agradecería un ejemplo (o si mi ignorancia lo amerita, un link). Saludos.

Última edición por dggluz; 01/05/2009 a las 10:22
  #4 (permalink)  
Antiguo 04/05/2009, 10:37
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Selects anidados con mssql (de php) y clausula limit de php

Si, justo eso quise decir, un alias.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 04/05/2009, 11:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Selects anidados con mssql (de php) y clausula limit de php

Tema trasladado desde Bases de Datos

http://www.forosdelweb.com/f21/funci...-datos-413499/
  #6 (permalink)  
Antiguo 05/05/2009, 06:34
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Selects anidados con mssql (de php) y clausula limit de php

Gracias Flaviovich!! Funciono perfecto!
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 16:59.