Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Cum limitez o interogare?
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Alte baze de date
Subiectul anterior :: Subiectul următor  
Autor Mesaj
el_suiram



Data înscrierii: 04/Apr/2005
Mesaje: 9
Locație: Blaj

Trimis: Mar Iul 19, 2005 12:07 am    Titlul subiectului: Cum limitez o interogare?  

Citesc date dintr-o baza MS Access (.mdb) folosind cateva functii odbc. Problema este ca vreau sa limitez numarul de randuri extrase si nu reusesc. In mod normal lucrul asta se face folosind LIMIT, dar daca introduc LIMIT scriptul nu mai functioneaza deloc, nu da nici macar o eroare. Iata codul:
Cod: <?php
include ("cnx_db.php");
$query = "SELECT id,item1,item2 FROM tabel ORDER BY id DESC LIMIT 0,2";
$result= odbc_exec( $cnx, $query );
if (!$result) {
        Error_handler( "Eroare in odbc_exec" , $cnx );
    }
$id = odbc_result( $result, 1 );
$item1 = odbc_result( $result, 2 );
$item2 = odbc_result( $result, 3 );
?>

In MySQL o astfel de interogare functioneaza fara probleme. Oare MS Acces nu respecta standardele SQL? Ma poate ajuta cineva sa rezolv aceasta problema?
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Mar Iul 19, 2005 7:57 am    Titlul subiectului:  

este posibil sa ma insel, insa cred ca LIMIT nu este in standardele SQL.
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Mar Iul 19, 2005 8:03 am    Titlul subiectului:  

Nu cred ca te inseli. Insa TOP care e fol. de MS este in ansi 92 parca (sau nu?). In fine, cert este ca nu exista un SGBD care sa implementeze _tot_ si _numai_ ansi sql. Exista o gramada de extensii.

Mike Hillyer, Technical Writer,MySQL AB a scris:
DB2 -- select * from table fetch first 10 rows only
Informix -- select first 10 * from table
Microsoft SQL Server and Access -- select top 10 * from table
MySQL and PostgreSQL -- select * from table limit 10
Oracle 8i -- select * from (select * from table) where rownum <= 10

(gasit in discutia de aici)
Sus  
el_suiram



Data înscrierii: 04/Apr/2005
Mesaje: 9
Locație: Blaj

Trimis: Mar Iul 19, 2005 12:49 pm    Titlul subiectului:  

Mai ce ti-e si cu SQL-ul asta! Sunt date ca exemplu 5 baze de date, fiecare cu modul ei de a limita o interogare. Puteam sa stau si in cap si tot nu reuseam sa aflu cum limitez interogarea in Access. Multumesc pentru ca mi-ati deschis ochii. 8O
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Mar Iul 19, 2005 1:11 pm    Titlul subiectului:  

De fapt sunt 7 date.

As aduga pe linia cu TOP si Microsoft Visual FoxPro
(exista si varianta TOP 20 PERCENT caz in care se furnizeaza doar 20% din rezultate)

Atentie! La folosirea lui TOP, este obligatorie includerea clauzei ORDER BY.
Sus  
el_suiram



Data înscrierii: 04/Apr/2005
Mesaje: 9
Locație: Blaj

Trimis: Mie Iul 20, 2005 7:39 pm    Titlul subiectului:  

Mersi pt precizari in ceea ce priveste obligativitatea clauzei ORDER BY. De data asta am avut noroc ca am folosit-o, dar cine stie ce s-ar fi intamplat daca nu aveam in interogare ORDER BY? Iara m-as fi dat de ceasul mortii! :lol:
Sus  
XtraVagAnT



Data înscrierii: 24/Aug/2005
Mesaje: 5

Trimis: Mie Aug 24, 2005 5:09 pm    Titlul subiectului:  

Dar in Interbase/Firebird stie cineva cum se poate face limitarea numarului de rezultate returnate de o interogare?

Ciauz!
Sus  
johnny



Data înscrierii: 31/Iul/2004
Mesaje: 904
Locație: Bucuresti

Trimis: Mie Aug 24, 2005 6:23 pm    Titlul subiectului:  

Pentru Firebird < 1 trebuie sa scrii stored procedures pentru a simula LIMIT...
Incepand cu Firebird 1.0 cred, a fost implementat:

Cod:
 SELECT FIRST x [SKIP y] … [restul query-ului]
//exemplu:
SELECT FIRST 10 SKIP 20 col1, col2, col3 FROM tabel
Sus  
XtraVagAnT



Data înscrierii: 24/Aug/2005
Mesaje: 5

Trimis: Mie Aug 24, 2005 8:29 pm    Titlul subiectului:  

Intradevar functioneaza cu "FIRST".
Thx!

Ciauz!
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Alte baze de date
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community