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

    SQL Server : Concatenamento di più colonne con probabile valore NULL

    Mi capita questo problema.
    Quando faccio una sql dove concateno più colonne, se una di queste colonne ha un valore NULL, allora tutto il concatenamento è nullo.
    Come posso ovviare a ciò?

    SQL che faccio :
    SELECT ID, (Societa + ' ' + Cognome + ' ' + Nome) AS [Anagrafica_Full], Societa, Cognome, Nome FROM Sfa
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  2. #2
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Utilizzi questa sintassi:

    Select(isnull(Societa,'')as Societa +'' +.....


  3. #3
    SELECT ID, (isnull(Societa,'') as Societa + ' ' + isnull(Cognome,'') as Cognome + ' ' + isnull(Nome,'') as Nome) AS [Anagrafica_Full], Societa, Cognome, Nome FROM Sfa

    Mi da errore :
    Sintassi non corretta in prossimità della parola chiave 'as'.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Runtime.InteropServices.COMException: Sintassi non corretta in prossimità della parola chiave 'as'.
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  4. #4
    Se faccio così :
    SELECT ID, (isnull(Sfa.Societa,'') + ' ' + isnull(Sfa.Cognome,'') + ' ' + isnull(Sfa.Nome,'')) AS [Anagrafica_Full] FROM Sfa

    Mi genera questo errore invece :
    Il nome di colonna 'Societa' è ambiguo.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Runtime.InteropServices.COMException: Il nome di colonna 'Societa' è ambiguo.
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  5. #5
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Originariamente inviato da CiodoF
    SELECT ID, (isnull(Societa,'') as Societa + ' ' + isnull(Cognome,'') as Cognome + ' ' + isnull(Nome,'') as Nome) AS [Anagrafica_Full], Societa, Cognome, Nome FROM Sfa

    Mi da errore :
    Sintassi non corretta in prossimità della parola chiave 'as'.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Runtime.InteropServices.COMException: Sintassi non corretta in prossimità della parola chiave 'as'.
    Chiaramente se fai una select e come alias metti due volte lo stesso nome non va mica tanto bene.
    Fai la select ed estrai l'id, poi verifichi se il campo societa e null e, lo chiami societa.
    Poi aggiungi ancora il campo societa nel proseguimento.
    Se vuoi nominarli diversamente nella colonna composta anagrafica_full non cambia niente e non ti da errore.

  6. #6
    Corretto, problema mio altrove.
    Buona la seconda opzione :

    SELECT ID, (isnull(Societa,'') as Societa + ' ' + isnull(Cognome,'') as Cognome + ' ' + isnull(Nome,'') as Nome) AS [Anagrafica_Full], Societa, Cognome, Nome FROM Sfa

    Grazie per la collaborazione.
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    363
    oppure, in T-SQL:
    SET CONCAT_NULL_YIELDS_NULL OFF

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.