Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    query di ricerca su piu filtri

    Salve
    uso questa query per effettuare una ricerca su piu campi
    ma nonostrante passi correttamente i parametri mi tira fuori risultati sfalsati

    premetto che alcuni dei campi nella select potrebbero anche non essere valorizzati perchè non scelti...


    cosa sbaglio?
    codice:
    SELECT * FROM master2020 WHERE ANA_MIN_QC_annualita LIKE '$ANA_MIN_QC_annualita' OR ANA_MIN_QC_regione LIKE '$ANA_MIN_QC_regione'OR ANA_MIN_QC_provincia LIKE '$ANA_MIN_QC_provincia'OR ANA_MIN_QC_categoria LIKE '$ANA_MIN_QC_categoria' OR SYS_status_pro LIKE '$SYS_status_pro'

    grazie mille
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    si tratta di una semplice serie di "OR"
    se uno solo è valido allora ti estrae il record corrispondente .....

    tu che problema riscontri ?
    che DB usi ?
    .

  3. #3
    se ne inserisco uno solo funziona... se inserisco 2 o piu parametri non ricerca secondo quei criteri
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da Stanislao Visualizza il messaggio
    ........ non ricerca secondo quei criteri
    Dovresti dirci qual' cosina in più
    -- Innanzitutto il DB
    -- poi secondo quali criteri non ricercherebbe ??

    Sappi che solitamente il PC sbaglia meno degli umani
    quindi facci un esempio pratico,
    ----- Ho questa tabella con questi record
    ----- applico questo filtro
    ----- mi aspetto questo risultato
    ----- invece ottengo quest' altro risultato

    .
    Ultima modifica di nman; 20-03-2020 a 17:57

  5. #5
    fatti stampare la query una volta composta e provala sulla console

  6. #6
    ho una tabella così composta

    anno regione comune provincia

    nel form ho le 4 select relative ai campi

    e vorrei selezionare per esempio solo i record della regione campania dell'anno 2018. oppure altro esempio tutti i record di roma del 2018

    grazie
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  7. #7
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Premesso che una tabella con i campi Regione, Provincia e Comune è denormalizzata perche dovresti avere 3 tabelle relazionate .....
    ma non entriamo in questi pantani ......

    Se ho ben interpretato tu vuoi mettere dei parametri su alcuni campi e su quelli lasciati vuoti vuoi "prendere" tutto
    Quindi se tu vuoi filtrare 2018 e campania devi usare AND al posto di OR
    Invece OR lo devi usare per "prendere" tutto se il parametro è Null

    Piu o meno viene cosi (da adattare al tuo DB che non ci hai ancora detto)
    codice:
    SELECT 
    Anno, Regi, Prov, Comu
    FROM Tabella
    WHERE 
    (
        (  ( Anno = 'ParametroAnno' )  OR  ( 'ParametroAnno' Is Null )  )
        AND 
        (  ( Regi = 'ParametroRegi' )  OR  ( 'ParametroRegi' Is Null )  ) 
        AND 
        (  ( Prov = 'ParametroProv' )  OR  ( 'ParametroProv' Is Null )  ) 
        AND 
        (  ( Comu = 'ParametroComu' )  OR  ( 'ParametroComu' Is Null )  )
    )
    ;
    .
    Ultima modifica di nman; 21-03-2020 a 01:31

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 © 2024 vBulletin Solutions, Inc. All rights reserved.