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

    [MYSQL] errore di sintassi?

    sto usando un programma di reporting che si chiama report manager (e non posso cambiarlo, non è una decisione che spetta a me)

    ora gli passo un parametro che fa da filtro e nel report manager è vista come :FILTRO1

    ora se il parametro ha un valore allora funziona altrimenti no

    devo mettere alla query un IF

    quello che ho scritto è giusto?

    codice:
    select xxxx
    from xxx
    left join xxx on yyyy=zzzz
    left join qqq on eeee=tttt
    where statoordine='INVIATO' and utdanagrafica.RagSociale like (if(:FILTRO1='','%',':FILTRO1'))
    www.contabilitafacile.it

  2. #2
    Se :FILTRO1 e' una costante dovresti passarla in php

    codice:
    $query = "select xxxx
         from xxx
         left join xxxx on yyyy=zzzz
         left join qqq on eeee=tttt
         where statoordine='INVIATO' 
         and utdanagrafica.RagSociale like if(" . :FILTRO1 ." = '', '%', '". :FILTRO1."')";

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    grazie per la risposta

    ma purtroppo non è php posso solo usare la sintassi di mysql...

    il problema è che non so cosa mi arriva quando il campo è vuoto, intendo se mi arriva un null o meno

    grazie
    www.contabilitafacile.it

  4. #4
    Originariamente inviato da Fumocamel
    grazie per la risposta

    ma purtroppo non è php posso solo usare la sintassi di mysql...

    il problema è che non so cosa mi arriva quando il campo è vuoto, intendo se mi arriva un null o meno

    grazie
    Ma che cos'e' :FILTRO1 ...??? questo e' il dilemma. Se non sai di che si tratta e' impossibile darti una risposta congruente.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ok scusa

    :FILTRO1 è il parametro che gli arriva dal programma a report manager

    grazie
    www.contabilitafacile.it

  6. #6
    Originariamente inviato da Fumocamel
    ok scusa

    :FILTRO1 è il parametro che gli arriva dal programma a report manager

    grazie
    Quindi se ho capito bene :FILTRO1 e' una stringa. La stringa puo' esserci oppure non esserci.

    Se la stringa non c'e' non puo' essere = ad empty forse a NULL.

    Dovresti controllare con il tuo programma (che e'?) se la stringa esiste oppure no ed agire poi di conseguenza sulla condizione nel where.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    il programma si chiama report manager ed è un generatore di report open source

    il programma accetta query mysql

    quindi devo validare il campo in mysql, ma come lo faccio?

    grazie
    www.contabilitafacile.it

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.