Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550

    ACCESS - Query di selezione con campo contatore

    ciao ragazzi, ho una semplice query di selezione per creare un elencone da usare poi in Excel con ADO.
    Vorrei però che il primo campo dell'elenco sia un contatore progressivo.
    Lo posso impostare direttamente dalla query nel "Select"?

    avete idea di come ottenere sta cosa?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao luck, prova in questo modo, tramite una query annidata e un alias di tabella.

    codice:
    SELECT (Select Count(1) FROM nome_tabella as a
    where a.id <=nome_tabella.id) AS sequenza, *
    FROM nome_tabella
    ORDER BY id;

  3. #3
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    grazie nicola, sei un mostro

    solo mi aiuti a capire meglio il select che hai fatto qui:

    Select Count(1) FROM nome_tabella as a
    where a.id <=nome_tabella.id

    come la si legge?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    "Select Count(1)" semplicemente conterà il numero totale di record. Avresti potuto mettere anche il classico * al posto di 1.
    "FROM nome_tabella as a" crea un alias di nome a della tua tabella
    "WHERE a.id <=nome_tabella.id" confronta il valore dell’id della subquery col valore dell’id della outer query.
    La subquery conta il numero di record per i quali il valore è minore o uguale a 1. Poiché vi è un solo record restituirà 1.
    Giunti al secondo record, la subquery troverà solo 2 record per i quali il valore è minore o uguale a 2 e così via.

    Spero di essere stato sufficientemente chiaro. E' più difficile a spiegarlo che a farlo.

  5. #5
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    Ti sei spiegato benissimo, tutto chiaro...

    In effetti ho capito che è un lavoraccio per l'engine, e access con solo 35000 righe tende ad imballarsi... ora ho capito perchè

    comunque Nicola, cosa ci consigli di leggere per imparare SQL in modo un po' più sostanzioso del "select * From tabella"?

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    In effetti mi sono un pò meravigliato di questa tua domanda. Anche con rdbms più performanti, come ad esempio mysql, viene sconsigliata la generazione di numeri progressivi proprio per il problema che tu stesso hai riscontrato. E' decisamente preferibile usare un semplice contatore tramite un qualsiasi lingaggio di programmazione per aggiungere il numero progressivo in fase di visualizzazione.

    Io avevo mosso i primi passi con l'sql acquistando questo libro
    http://www.hoepli.it/libro.asp?ib=97...00022001004003

    Sono un grande estimatore dei libri pubblicati dalla Apogeo.

    Un altro ottimo libro che avevo acquistato è stato questo, ricchissimo di esempi
    http://www.unilibro.it/find_buy/find...s_rick_f__.htm

    ma devo dire che la maggior parte delle cose le ho imparate sul forum di php/mysql grazie ai mostri sacri che lo frequentano.

  7. #7
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    infatti, mi sa che VB sto prima... e mi ci trovo decisamente meglio.

    mmm...
    mi sa che passerò in libreria stasera, ho come un presentimento che durante ste vacanze mi studierò un po' di SQL...

    comunque vedo che anche per te vige la stessa regola: infarinata con il libricino, poi "smanazzo" e google

    ciao ciao, grazie

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da luck
    comunque vedo che anche per te vige la stessa regola: infarinata con il libricino, poi "smanazzo" e google
    Penso che valga per tutti.
    Mysql poi ha una documentazione online paurosa e anche il suo forum è veramente notevole.

    Io lavoro prevalentemente su quello ma una volta che hai le basi di sql non hai difficoltà a lavorare anche su altri "dialetti". Cambia magari qualche funzione proprietaria ma l'sql è sempre quello.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.