Newsgroup: it.comp.software.database
Titolo: Primi N campi

Il problema e' questp: vorrei che una query restituisse al massino N
righe, ad esemio se faccio una select in base ad un certo campo devono
essere restituite ad esempio massimo 5 righe che soddisfano la query.
Spero di essermi spiegato... Come si può fare ciò???
(il db e' access)
bye, insane79
That is not dead which can eternal lie, 
And with strange aeons even death may die
---- Abdul Alhazred, Al Azif 700 d.C. --

 
che dbms usi?
Oracle: where rownum < 6
mysql: limit 5
...

 mysql: limit 5
Ma non basta un semplice "SELECT TOP 5" ?
--
Filippo Di Blasi 
fil...@puntoinformatico.it
http://puntoinformatico.it
 <-- E-shop informatico
http://puntoinformatico.it/usato
 <-- Usato
http://puntoinformatico.it/servizi
 <-- Servizi web

 Ma non basta un semplice "SELECT TOP 5" ?
evidentemente no... com'è la sintassi completa?
mysql> select top 5 from stati;
ERROR 1064: You have an error in your SQL syntax near '5 from stati' at 
line 1
mysql> select * from stati limit 5;
+------+----------------+
| id   | name           |
+------+----------------+
| AF   | AFGHANISTAN    |
| AL   | ALBANIA        |
| DZ   | ALGERIA        |
| AS   | AMERICAN SAMOA |
| AD   | ANDORRA        |
+------+----------------+
5 rows in set (0.00 sec)
mysql>


In mysql top non esiste. Il problema di top è che non hai un offset come
invece c'è in LIMIT di Mysql ed anche in Postgres (LIMIT #nrRows# OFFSET
#startRow#). Quindi con top ti prenderai sempre le prime n righe.
Ciao.
Faser
--------------------
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
http://www.cfmentor.com
--------------------

 line 1
Devi indicare l'elenco dei campi, cosě come fai con le query "normali":
SELECT TOP 5 * FROM stati;
Agendo sull'ORDER BY puoi variare il criterio di scelta dei TOP 5.


 SELECT TOP 5 * FROM stati;
come già risposto, su mysql non va...
SQL> select top 5 * from dba_data_files;
select top 5 * from dba_data_files
           *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
... e neanche con Oracle, a quanto pare!

 ... e neanche con Oracle, a quanto pare!
Strano... ho sempre pensato che fosse una clausola sql standard!
Comunque con le famiglie DB e prodotti MS in genere funziona.


...
Suppongo che queste due non siano supportate da Access, a quanto ho
capito con mySQL è possibile stabilire anche un offset dal quale
partire con il conteggio delle N righe.
A me serviva proprio questo. Lo si può fare in access tramite SQL???
La select top mi da un problema: in pratica nel db ci sono delle
tabelle che realizzano un relazione N a N la select yop quindi prende
le prime 5 righe di tutto il risultato, mentre io vorrei che prendesse
le prime 5 righe che soddisfano la query della tabella principale
indipendentemente dalle righe trovate nella tabella figlia.
Spero solo che sia riuscito a rendere comprensibile il problema :)


Spero solo che sia riuscito a rendere comprensibile il problema :)
Chiarissimo, solo che IMHO con Access via SQL non c'è soluzione.


 Comunque con le famiglie DB e prodotti MS in genere funziona.
già siamo nella merda coi sistemi operativi,
meno male che MS non ha dettato legge anche negli altri campi!!
per quel che mi riguarda, il mio linguaggio preferito è quello Oracle, 
anche se storicamente dovrebbe essere DB2 quello "trainante".


Ma perché bisogna per forza aprire un flame quando non ce ne è bisogno? :-(
La domanda originale era: "vorrei che una query restituisse al massino N
righe... il db è Access"!
Lungi da me fare pubblicità occulta al MS, ma se la domanda è su Access, che
notoriamente è un prodotto Microsoft, perché devo rispondere con l'sql di
MySql o Oracle?
Arriveremo al punto in cui non potremo più nemmeno nominarla 'sta azienda?


 azienda? --
finché le cose in casa Microsoft non cambieranno in meglio, dal punto di
vista della stabilità e della sicurezza, credo che
sentiremo nominarla ancora spesso... ma non voglio aprire un flame ora. 
volevo porre solamente in evidenza che, per chi è abituato ad avere
"standard" da seguire, non deve associarli automaticamente a chi in
generale è abituato a definirli, almeno nel contesto non OS. 
ancora scusa per aver offeso padron Bill...
ciao :-)

Ciao.


 ancora scusa per aver offeso padron Bill...
E già... adesso non mi pagherà gli alimenti per il mese di dicembre!
