Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: problema query

  1. #1

    problema query

    Ciao a tutti,
    cosa c'è di sbagliato in questa query:

    strq5 = "select count(*) as totrec from corsidiformazione where a&b&c > 1"


    Praticamente vorrei fare il controllo sulla concatenazione di a,b,c.
    Es: a=1, b=2,c=3 il controllo lo dovrebbe fare così: ... 123 > 1

    Spero di essermi spiegato.
    Fatemi sapere.

    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    che db stai usando?
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    a, b, c sono campi in formato testo?

  4. #4
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    la query sql è certamente sbagliata
    per concatenare campi di db si deve usare l'operatore + e non &

    e poi il confronto va fatto con una conversione, riportando a numero intero
    Tutti vogliono parlare, nessuno sa ascoltare.

  5. #5
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    certo, comunque se stai usando mysql puoi usare la funzione CONCAT(). Implicitamente viene poi fatta la conversione.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  6. #6
    Sto utilizzando mysql con campi di testo.
    Dovrei quindi fare il confronto tra stringhe.
    Mi potete consigliare la corretta sintassi della query?

  7. #7
    Prova così
    fammi sapere se funziona
    strq5 = "select count(*) as totrec from corsidiformazione where cint(a)+ cint(b) + cint(c) > 1"

  8. #8
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    strq5 = "select count(*) as totrec from corsidiformazione where CONCAT(a,b,c) > 1"
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  9. #9
    Nulla da fare, mi da questo errore:
    ODBC driver does not support the requested properties.

    Ho provato anche una combinazione mischiata:
    strq5 = "select count(*) as totrec from corsidiformazione where CONCAT(cint(a),cint(b),cint(c)) > 1"

    Ma mi da sempre lo stesso errore.

    Cosa posso fare?
    Cosa posso provare?

  10. #10
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, se è un database mySql, la funzione cint non va bene!
    come suggerito da 99eros9 devi usare la funzione CONCAT(), ma dato che CONCAT restituisce una stringa, per fare il confronto con un numero, prima devi convertire il valore restituito dalla concatenazione in numero, ora sinceramente non so in mySql se c'è e quale sia la funzione per fare questa conversione, l'unica cosa che mi viene in mente è fare la moltiplicazione per 1, ma non so se funzia..
    prova a fare cosi:
    codice:
    strq5 = "select count(*) as totrec from corsidiformazione where (CONCAT(a,b,c)*1) > 1"
    visto mai che funziona..
    Jupy

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.