microsoft sql server 2005
Francesco Abeni
francesco a gibilogic.com
Ven 6 Giu 2008 12:39:25 UTC
marco ghidinelli ha scritto:
> sono incredibilmente disgustato e sconcertato da quanto ho appena
> scoperto:
>
> con microsoft sql non e' possibile fare una query del tipo:
>
> SELECT campo FROM tabella order by id LIMIT 20,10
>
> per ottenere i record compresi tra 20 e 30.
>
> l'unica soluzione possibile e' quella di fare una
>
> select * from (
> select top 10 campo from (
> select top 30 campo from tabella order by id
> ) as nuovatabella order by id desc
> ) as nuovatabella2 order by id asc
In effetti confermo che Microsoft SQL Server non supporta il LIMIT. Però
se non mi sbaglio - non è che io lavori tanto con MS SQL - nella
soluzione che riporti c'è un SELECT di troppo: per ricreare la query che
hai riportato in alto dovrebbe essere sufficiente
SELECT TOP 10 campo FROM (
SELECT TOP 30 campo FROM tabella ORDER BY id
) ORDER BY id DESC
Visto che ho qua accanto un test di MS SQL magari dopo ci faccio una prova.
--
Francesco Abeni
Maggiori informazioni sulla lista
Lug
|