Estrarre Record Casualmente

Matt36

Nuovo Utente
2 Set 2009
6
0
0
Salve a tutti
Ho una tabella in Acces dalla quale devo estrarre in modo casuale un certo numero di record coem posso fare?

grazie in anticipo
 

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
Codice:
select * from tabella order by rnd(id)
id deve essere numerico (ti consiglio di usare la chiave primaria numerica (es. contatore) della tabella). Prendi i primi N record della tabella che ti servono (saranno sempre diversi) quando effettui il ciclo di lettura. Puoi anche mettere un where se ti serve.
 

Matt36

Nuovo Utente
2 Set 2009
6
0
0
avrei una piccola necessita i record sono idicizzati secondo un id numerico poi ho un codice da controllare di 5 caratteri

XXYYY

XX = Numero che si puo ripetere
YYY = Numero che non si puo ripetere

intendo per esempio

10375
10358
10375

deve diventare
10375
10358

quindi ricapitolando devo estrarre dalla prima tabella 29 record di cui questo codice non si deve ripetere
 

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
avrei una piccola necessita i record sono idicizzati secondo un id numerico poi ho un codice da controllare di 5 caratteri

XXYYY

XX = Numero che si puo ripetere
YYY = Numero che non si puo ripetere

intendo per esempio

10375
10358
10375

deve diventare
10375
10358

quindi ricapitolando devo estrarre dalla prima tabella 29 record di cui questo codice non si deve ripetere

Secondo me Access non è in grado di risolvere una query così complessa. Io risolverei questa cosa con una procedura.
Codice:
SELECT * FROM tabella WHERE id IN 
(
    SELECT id FROM tabella t WHERE RIGHT(campo,3) NOT IN 
    (
        SELECT RIGHT(campo,3) FROM tabella t2 WHERE t2.id<t.id
    ) 
)
ORDER BY RND(id)
L'ho scritta di getto e potrebbe essere sbagliata. Studiandoci un po' su forse mi viene in mente una query migliore, ma come già detto, potrebbe non riuscirla a gestire Access.
(ho ipotizzato che codice sia un campo stringa)
 

Matt36

Nuovo Utente
2 Set 2009
6
0
0
Mi spieco meglio
IdPratica Frazionario NumProtocollo NumeroConto TipoLavorazione DataRichiesta DataArrivo DataInizioLavorazione StatoLavorazione nominativo DataFineLavorazione Annullata
sono i campi della tabella


La tabella è indicizata con idPratica
esempio

10 1350 8768761816 ecc----
11 1375 8768761816 ecc----
12 2750 8768761816 ecc----
13 1310 8768761816 ecc----
14 2750 8768761816 ecc----
15 1370 8768761816 ecc----
16 1550 8768761816 ecc----
17 1512 8768761816 ecc----
18 1550 8768761816 ecc----

da un elenco del genre devo estrapolare
N record nei quali Frazionario non si puo ripetere
 
Ultima modifica:

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
Codice:
SELECT * FROM tabella WHERE idPratica IN 
(
    SELECT idPratica FROM tabella t WHERE frazionario NOT IN 
    (
        SELECT frazionario FROM tabella t2 WHERE t2.idPratica<t.idPratica
    ) 
)
ORDER BY RND(idPratica)
Se la query funziona ti basta cambiare il nome della tabella e nel ciclo che fai prendere i primi N record.
Se vuoi mettere N nella query (es. N=100) la prima riga diventa:
Codice:
SELECT TOP 100 * FROM tabella WHERE idPratica IN
 

Matt36

Nuovo Utente
2 Set 2009
6
0
0
Aggiungo una cosa degli estratti devono tutti inizare con un certo codice che gli do io

PS

NN capico cosa sono t2 e t
 
Ultima modifica:

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
Aggiungo una cosa degli estratti devono tutti inizare con un certo codice che gli do io
Cambi la parte centrale della query così:
Codice:
SELECT idPratica FROM tabella t WHERE frazionario NOT IN 
    (
        SELECT frazionario FROM tabella t2 WHERE t2.idPratica<t.idPratica
    ) 
    [COLOR="Red"]AND frazionario LIKE 'abc%'[/COLOR]
(prende i codici che iniziano per 'abc')

NN capico cosa sono t2 e t
Ho rinominato per comodità i nomi delle tabelle (temporaneamente).
 

Matt36

Nuovo Utente
2 Set 2009
6
0
0
Codice:
SELECT idPratica FROM [COLOR="Red"]tabella t[/COLOR] WHERE frazionario NOT IN 
    (
        SELECT frazionario FROM [COLOR="Red"]tabella t2[/COLOR] WHERE t2.idPratica<t.idPratica
    ) 
AND frazionario LIKE 'abc%'

Devo creare due nuove tabelle?
 
Discussioni simili
Autore Titolo Forum Risposte Data
sandropochi [PHP] Query per estrarre record con data successiva a quella odierna PHP 2
giancadeejay [PHP] Estrarre solo record dell'utente connesso PHP 4
giancadeejay estrarre record specifico da db Database 17
G ESTRARRE VALORI MASSIMI E MINIMI IN UN INTERVALLO DI RECORD Database 7
S estrarre e stampare a video un record in un div PHP 7
L Estrarre record di un dato mese MySQL 5
A estrarre record da DB PHP 9
I estrarre record da 2 tabelle mysql con riferimento id_utente uguale Database 3
A Estrarre solo un certo numero di record e scorrimento pagine PHP 9
G Estrarre record tramite "parte di campo" Classic ASP 2
G Estrarre l'ultimo record del db dal link Classic ASP 6
G estrarre record da un database con menu a tendina Classic ASP 4
G Estrarre un record in modo orizzontale, ma solo i record richiamati da un codice Classic ASP 2
S Estrarre record in modo casuale da database Classic ASP 10
F Estrarre record in ordine casuale Classic ASP 0
grottafelix Estrarre 4 record per riga Classic ASP 4
N Estrarre un insieme casuale di record utilizzando SQL Database 0
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
M Estrarre soltanto i prodotti con stessa descrizione PHP 10
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
M Estrarre valore con SELECT COUNT PHP 0
D Estrarre database con link esterno Database 10
S Raggruppare ed estrarre data più recente MySQL 6
F Estrarre ultima foto da cartelle PHP 2
R Estrarre valori duplicati più volte PHP 0
C Estrarre dati stringa Sql Database 1
L estrarre valori max tra più tabelle MySQL 2
L Estrarre da Cartella una determinata 'via' PHP 15
J estrarre url dei file video da youtube "get_video_info" PHP 6
M Estrarre dati da un database PHP 2
M Estrarre valori MAX da un db con una left join MySQL 8
M Estrarre dati da una select HTML PHP 3
C [PHP] Estrarre da una classe i valori che mi interessano PHP 5
S [PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo PHP 11
R [PHP] Estrarre id utente loggato.? PHP 4
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2
P [MS ACCESS] Estrarre più somme da una query MS Access 4
trattorino estrarre titolo video facebook in php PHP 0
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
S [Javascript] come estrarre valori array e inserirli in diverse variabili Javascript 1
N [PHP] Estrarre singolo valore da array PHP 4
trattorino [PHP] sql estrarre in base all'ultima visita PHP 4
P [Visual Basic] access sql estrarre id vendite x cli e articolo con data maggiore del recordset Visual Basic 2
Jensen [PHP] Estrarre prossimi 4 lunedì PHP 4
trattorino [PHP] estrarre dati singoli PHP 1
G [PHP] estrarre data da timeline yyyy-dd-gg hh:mm:ss PHP 4
Z Estrarre dati da un DB Mysql PHP 4

Discussioni simili