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

    [MySql] Concat non restituisce valori

    Buon giorno ho questa select:
    codice:
    SELECT * FROM (
    SELECT nProgr as id, dTitolo as titolo,
    CONCAT(cDomanda,' ',cRisposta,' ',eModulo,' ',cInfoAggiuntive) as testo, dDataIns, 'TB_FAQ' as tabella FROM TB_FAQ) as T
    WHERE dDataIns > '2011-12-31' AND (testo LIKE '%ospite%' OR titolo LIKE '%ospite%')
    Eseguendola mi restituisce campo "testo"->NULL. Perchè?
    id -> 21
    titolo-> Ospite
    testo-> NULL
    data->2013-01-23
    tabella->TB_FAQ

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    prova ad eseguire a parte solo :

    SELECT CONCAT(cDomanda,' ',cRisposta,' ',eModulo,' ',cInfoAggiuntive) as testo from....

    vedi cosa ottieni
    Non siate in ansia per la vostra vita; Guardate gli uccelli del cielo: non seminano, non mietono, non raccolgono in granai, e il Padre vostro celeste li nutre. Non valete voi molto più di loro? Cercate prima il regno e la giustizia di Dio, e tutte le altre cose vi saranno date in più.

  3. #3
    su 25 record che ho, soltanto 2 vengono valorizzati tutti gli altri li restituisce NULL.

    Il campo eModulo è valorizzato soltanto in due record, in tutti gli altri no.
    Togliendo nel CONCAT il campo eModulo ed eseguendo di nuovo la select del tuo esempio, ora funziona.

    Però, a me il campo eModulo serve.Come faccio?
    Grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Quote Originariamente inviata da ANTAGONIA Visualizza il messaggio
    su 25 record che ho, soltanto 2 vengono valorizzati tutti gli altri li restituisce NULL.

    Il campo eModulo è valorizzato soltanto in due record, in tutti gli altri no.
    Togliendo nel CONCAT il campo eModulo ed eseguendo di nuovo la select del tuo esempio, ora funziona.

    Però, a me il campo eModulo serve.Come faccio?
    Grazie.
    nel concat devi dunque gestire anche i valori null.. qui i riferimenti su come fare : http://www.mrwebmaster.it/mysql/funz...lif_10760.html
    Non siate in ansia per la vostra vita; Guardate gli uccelli del cielo: non seminano, non mietono, non raccolgono in granai, e il Padre vostro celeste li nutre. Non valete voi molto più di loro? Cercate prima il regno e la giustizia di Dio, e tutte le altre cose vi saranno date in più.

  5. #5
    grazie mille, perfetto ho fatto in questo modo e funziona:
    codice:
    SELECT CONCAT(
    '<b>DOMANDA:</b><br/>',cDomanda,
    '<br/><b>RISPOSTA:</b><br/>',cRisposta,
    '<br/><b>MODULO:</b>',IFNULL(eModulo,'nessun modulo'),
    '<br/><b>INFORMAZIONI AGGIUNTIVE:</b><br/>',cInfoAggiuntive) as testo from....
    Però avrei voluto che, se 'eModulo' è NULL non mi visualizza '<br/><b>MODULO:</b>'.

    Ho provato cosi ma niente e mi restituisce 0
    [code]
    IFNULL('MODULO:' + eModulo,'N.D.')
    [/
    code]


    Se invece cosi, mi va in errore:
    right syntax to use near ''N.D.')
    [code]
    IFNULL('MODULO:',eModulo,'N.D.')
    [/
    code]

    Come faccio?
    Grazie ancora.

  6. #6
    altra domanda è possibile strutturare una query in questo modo?
    codice:
    SELECT * (
    SELECT cTitolo as titolo, '' as link,cTesto as testo FROM TBNEWS
    UNION
    SELECT dTitolo as titolo, cLink as link, IFNULL(cPagine,'') as testo FROM TB_COME_FARE) as T
    WHERE ....
    A me serve il campo cLink, che ha soltanto la tabella TB_COME_FARE, tutte le altre non ce l'hanno.
    La query posso gestirla nel modo che ho postato?
    Grazie ancora.
    Ultima modifica di ANTAGONIA; 26-01-2015 a 14:33

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.