Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    13

    [SQL] Query SQL con operatori di confronto

    Problema:
    Devo creare la query che risolve il mio problema.
    Ogni record contiene un campo [età] che contiene un valore del tipo '>18' oppure '<18'o altro.
    In base all'età del cliente la query deve selezionare solo i record che rispondono alla condizione del campo [età]

    Esempio

    Età cliente 30 anni.

    record A contiene '<18'
    record B contiene '>18'

    La query deve espormi soltanto il record B (true) perchè il record A è false.

    Io dovrei fare qualche cosa del tipo

    SELECT * from [nometabellea]
    where età_cliente [età] is true

    Ma non funziona...

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    245
    ... scusa ma forse non ho capito il tuo problema !!!!!
    tu vorresti una cosa del genere ????
    Select * from tabella where eta_cliente > 18
    o qualcosa di diverso ????
    ciao

  3. #3
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    nn ho testato il codice , ma penso funzioni (va completato):

    codice:
    dim filtro as string
    
    if eta=> 18 then filtro=">=18"
     else
      filtro="<18"
    end if
    SQL="Select * from tabella where eta_cliente " & filtro

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    13
    Ho pensato di sdoppiare il campo.
    Nel db ho creato età_min ed età_max.
    Per esempio:

    1)età_min=0 ed età_max=18
    2)età_min=19 ed età_max=50
    3)età_min=51 ed età_max=999

    Così mi creo 3 scaglioni.

    Poi con una query contenente BETWEEN eseguo la ricerca.
    Se la mia età è di 20 anni cado nel secondo scaglione, se 55 cado nel terzo.
    Capito ora cosa mi serve?
    Grazie comunque.

    Condividi la mia soluzione oppure ci vedi dei problemi che ignoro?

    Andrea

  5. #5
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    skusate x il codice precedente (vi era un orrore con la if)
    diceiamo ke potresti fare una cosa del genere lavorando con un solo campo e non con 2.
    'il mio è solo un esempio nn testato.
    codice:
    dim filtro as string
    
    if eta=> 0 and eta <=18 then 
       filtro="#0# and #18#"
     elseif eta=> 19 and eta <=50 then 
       filtro="#19# and #50#"
    elseif eta=> 51 and eta <=999 then 
       filtro="#51# and #999#"
    end if
    
    SQL="Select * from tabella where eta_cliente between" & filtro
    ciao

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.