Come modifico la seguente query?

di il
9 risposte

Come modifico la seguente query?

Ciao!
Se eseguo la seguente istruzione su un DB di Access:

?SELECT id FROM table WHERE ((((Esito)='BUONO') AND ((OP)='OP100')) AND (((Codice01)='1234') OR ((Codice02)='1234')));

avrò come risultato gli "id" di tutte le righe della tabella che soddisfano l'istruzione.

Visto che non mi interessa conoscere tutti i risultati positivi, posso fare in modo che la query si interrompa al primo esito positivo senza "spazzolare" tutti i record della tabella (che possono essere migliaia) e velocizzare la risposta?

Grazie a chi vorrà aiutarmi.

9 Risposte

  • Re: Come modifico la seguente query?

    Ciao,

    prova : SELECT TOP1 ...... FROM.......
  • Re: Come modifico la seguente query?

    Piccola correzione

    non
    SELECT TOP1 ...... FROM.......

    ma
    SELECT TOP 1 ...... FROM.......

    TOP spazio NRECORD
  • Re: Come modifico la seguente query?

    Ok ci provo!
    Siccome lo scopo della mia domanda è accelerare l'esecuzione della query, sapete dirmi se questa istruzione si ferma al primo record trovato con esito positivo oppure se comunque li cerca tutti e poi me ne restituisce uno solo magari secondo un determinato criterio di ordine (tipo per data, decrescente, ecc..)?
  • Re: Come modifico la seguente query?

    Allora,
    sostituendo SELECT id FROM con SELECT TOP 1 FROM, mi restituisce questo errore:

    L'istruzione SELECT include una parola riservata o un argomento scritto in modo errato o mancante oppure la punteggiatura non è corretta

    Sbaglio qualcosa?
  • Re: Come modifico la seguente query?

    SE PRIMA SCRIVEVI

    SELECT (elencoCampiSeparati da virgole) FROM TUAtabella ....

    ora

    SELECT TOP 1 (elencoCampiSeparati da virgole) FROM TUAtabella ....

    FAMMI SAPERE
  • Re: Come modifico la seguente query?

    Grazie, funziona.. scemo io
    sto facendo delle prove e mi sembra che l'istruzione SELECT TOP 1 sia almeno il 20% più veloce del semplice SELECT
  • Re: Come modifico la seguente query?

  • Re: Come modifico la seguente query?

    Come ti ho già detto nonostante i suggerimenti che ti sono stati dati, relativamente errati per JET, la risposta reale alla domanda è NO... non ottimizzi nulla nemmeno con TOP..., ottieni solo il 1° Record dopo che sono stati passati tutti...!

    Segnalo tuttavia il CROSSPOST:
    "http://www.ialweb.it/forum/forum_posts.asp?TID=16464596&PID=3369843"
  • Re: Come modifico la seguente query?

    Ciao a tutti, chiudo il 3d come da regolamento
Devi accedere o registrarti per scrivere nel forum
9 risposte