<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comentarios en: Sql server con consultas Limit de mySQL</title>
	<atom:link href="http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/</link>
	<description>Bitácora y apuntes técnicos</description>
	<pubDate>Wed, 07 Jan 2009 21:50:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>Por: Rolf Pinto</title>
		<link>http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-20103</link>
		<dc:creator>Rolf Pinto</dc:creator>
		<pubDate>Mon, 17 Nov 2008 18:31:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-20103</guid>
		<description>Muy buena solución, muchas gracias al final puede quedar así:
ALTER PROCEDURE [dbo].[litapaginada] 
@startRow int,
@maxRow int
AS
BEGIN
SELECT * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY idxxx) as 'idfila' , * FROM tabla 
) as tabla 
WHERE idfila @startRow 1 and @maxRow
END</description>
		<content:encoded><![CDATA[<p>Muy buena solución, muchas gracias al final puede quedar así:<br />
ALTER PROCEDURE [dbo].[litapaginada]<br />
@startRow int,<br />
@maxRow int<br />
AS<br />
BEGIN<br />
SELECT * FROM (<br />
SELECT ROW_NUMBER() OVER (ORDER BY idxxx) as &#8216;idfila&#8217; , * FROM tabla<br />
) as tabla<br />
WHERE idfila @startRow 1 and @maxRow<br />
END</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: germanach</title>
		<link>http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-13102</link>
		<dc:creator>germanach</dc:creator>
		<pubDate>Fri, 07 Mar 2008 20:06:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-13102</guid>
		<description>Esa respuesta, al menos a mi no me sirve. Hice la pregunta y traigo la respuesta.
Una sub - consulta SQL92 estandar que limita una busqueda a una cierta cantidad de resultados para mi esquema de empresa de transporte (si alguien puede explicar en que orden se va haciendo la consulta?) es la siguiente. (Esto no es tan facil de encontrar, guardenla!):

## FIGURITA DIFICIL. Consulta estandar SQL92
## que limita los resultados de una consulta
select (
select count(*) from servicio s1 
where s1.patente &#60;= s2.patente) as fila, patente 
from servicio s2 
where(
select count(*) from servicio s1 
where s1.patente &#60;= s2.patente)&#60;=5 
order by patente desc;</description>
		<content:encoded><![CDATA[<p>Esa respuesta, al menos a mi no me sirve. Hice la pregunta y traigo la respuesta.<br />
Una sub - consulta SQL92 estandar que limita una busqueda a una cierta cantidad de resultados para mi esquema de empresa de transporte (si alguien puede explicar en que orden se va haciendo la consulta?) es la siguiente. (Esto no es tan facil de encontrar, guardenla!):</p>
<p>## FIGURITA DIFICIL. Consulta estandar SQL92<br />
## que limita los resultados de una consulta<br />
select (<br />
select count(*) from servicio s1<br />
where s1.patente &lt;= s2.patente) as fila, patente<br />
from servicio s2<br />
where(<br />
select count(*) from servicio s1<br />
where s1.patente &lt;= s2.patente)&lt;=5<br />
order by patente desc;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Ronald Leon</title>
		<link>http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-13083</link>
		<dc:creator>Ronald Leon</dc:creator>
		<pubDate>Thu, 06 Mar 2008 20:28:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-13083</guid>
		<description>Existe una forma de obtener el mismo resultado de las funciones Limit y Offset de MYSQL y Postgre en SQL Server, sin necesidad de estar creando Stored Procedure del lado servidor, los cuales retrasan los tiempos de respuestas 

motivado a la creación de tablas temporales a fin de crear un Index propio el cual sevirá de referencia para la busqueda.

Esta función es de facil manejo simplemente retorna un SQLquery adaptado a nuestra necesidad, y los únicos parámetros exigidos es el SQL de nuestra consulta, el campo clave de la misma, la pagina a visualizar y por último la cantidad de registro por página.

El código es el siguiente, esta desarrollado en Visual Basic sin embargo su adaptación a caulquier lenguaje será sencilla:
 
-----------------------------------------------
Function SQLpaginar(SQL As String, Clave As String, Pagina As Integer, Cantidad As Integer)
    If Pagina &#62; 0 And Cantidad &#62; 0 And Clave  "" Then
        Dim Fsql As String, Dsql As String, Asql As String
        Fsql = "SELECT TOP " &#38; Pagina * Cantidad &#38; " * FROM (" &#38; SQL &#38; ") DERIVEDTBL"
        Dsql = "SELECT TOP " &#38; Cantidad &#38; " * FROM (" &#38; Fsql &#38; ") DERIVEDTBL ORDER BY " &#38; Clave &#38; " DESC"
        Asql = "SELECT TOP " &#38; Cantidad &#38; " * FROM (" &#38; Dsql &#38; ") DERIVEDTBL ORDER BY " &#38; Clave &#38; " ASC"
        SQLpaginar = Asql
    Else
        SQLpaginar = SQL
    End If
End Function
--------------------------------------------</description>
		<content:encoded><![CDATA[<p>Existe una forma de obtener el mismo resultado de las funciones Limit y Offset de MYSQL y Postgre en SQL Server, sin necesidad de estar creando Stored Procedure del lado servidor, los cuales retrasan los tiempos de respuestas </p>
<p>motivado a la creación de tablas temporales a fin de crear un Index propio el cual sevirá de referencia para la busqueda.</p>
<p>Esta función es de facil manejo simplemente retorna un SQLquery adaptado a nuestra necesidad, y los únicos parámetros exigidos es el SQL de nuestra consulta, el campo clave de la misma, la pagina a visualizar y por último la cantidad de registro por página.</p>
<p>El código es el siguiente, esta desarrollado en Visual Basic sin embargo su adaptación a caulquier lenguaje será sencilla:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Function SQLpaginar(SQL As String, Clave As String, Pagina As Integer, Cantidad As Integer)<br />
    If Pagina &gt; 0 And Cantidad &gt; 0 And Clave  &#8220;&#8221; Then<br />
        Dim Fsql As String, Dsql As String, Asql As String<br />
        Fsql = &#8220;SELECT TOP &#8221; &amp; Pagina * Cantidad &amp; &#8221; * FROM (&#8221; &amp; SQL &amp; &#8220;) DERIVEDTBL&#8221;<br />
        Dsql = &#8220;SELECT TOP &#8221; &amp; Cantidad &amp; &#8221; * FROM (&#8221; &amp; Fsql &amp; &#8220;) DERIVEDTBL ORDER BY &#8221; &amp; Clave &amp; &#8221; DESC&#8221;<br />
        Asql = &#8220;SELECT TOP &#8221; &amp; Cantidad &amp; &#8221; * FROM (&#8221; &amp; Dsql &amp; &#8220;) DERIVEDTBL ORDER BY &#8221; &amp; Clave &amp; &#8221; ASC&#8221;<br />
        SQLpaginar = Asql<br />
    Else<br />
        SQLpaginar = SQL<br />
    End If<br />
End Function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: German</title>
		<link>http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-2992</link>
		<dc:creator>German</dc:creator>
		<pubDate>Sun, 02 Dec 2007 19:48:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-2992</guid>
		<description>germanachar(at)yahoo(dot)com(dot)ar

Sabe si esta consulta es compatible con el estandar SQL92?

Sino, como podria hacer una consulta utilizando subconsultas que emulen LIMIT x,y?
Sin usar vistas ni tablas auxiliares ni with.</description>
		<content:encoded><![CDATA[<p>germanachar(at)yahoo(dot)com(dot)ar</p>
<p>Sabe si esta consulta es compatible con el estandar SQL92?</p>
<p>Sino, como podria hacer una consulta utilizando subconsultas que emulen LIMIT x,y?<br />
Sin usar vistas ni tablas auxiliares ni with.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Oracle con consultas Limit de mySQL</title>
		<link>http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-24</link>
		<dc:creator>Oracle con consultas Limit de mySQL</dc:creator>
		<pubDate>Sun, 03 Jun 2007 03:07:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-24</guid>
		<description>[...] igual que ésta semana anotaba cómo hacer consultas con Limit en Sql Server 2005, en éste post le toca el turno a [...]</description>
		<content:encoded><![CDATA[<p>[...] igual que ésta semana anotaba cómo hacer consultas con Limit en Sql Server 2005, en éste post le toca el turno a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Asier Marqués</title>
		<link>http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-19</link>
		<dc:creator>Asier Marqués</dc:creator>
		<pubDate>Tue, 29 May 2007 21:41:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-19</guid>
		<description>Jajaja bueno estoy con la 2005... las otras me dan escalofrios :P
Por cierto, felicidades por la boda!! :D</description>
		<content:encoded><![CDATA[<p>Jajaja bueno estoy con la 2005&#8230; las otras me dan escalofrios <img src='http://asiermarques.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
Por cierto, felicidades por la boda!! <img src='http://asiermarques.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: gubatron</title>
		<link>http://asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-18</link>
		<dc:creator>gubatron</dc:creator>
		<pubDate>Tue, 29 May 2007 21:37:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.asiermarques.com/2007/05/29/sql-server-con-consultas-limit-de-mysql/#comment-18</guid>
		<description>Te compadezco por tener que lidiar con SQL Server.</description>
		<content:encoded><![CDATA[<p>Te compadezco por tener que lidiar con SQL Server.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
