Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [T-sql] CASE

  1. #1
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512

    [T-sql] CASE

    un aiutino please!

    dovrei eseguire questa query:

    codice:
    SELECT contatti_generali.id, cat=" & _
        "CASE WHEN fax1 IS NOT NULL and fax1<>"" THEN fax1 END, cat1=" & _
        "CASE WHEN fax1 IS NULL and fax1="" and fax2 is not null and fax2<>"" THEN fax2 END, cat2= " & _
        "CASE WHEN fax1 IS NULL and fax1="" and fax2 is null and fax2="" and fax is not null and fax<>"" THEN fax END " & _
    FROM bla bla
    where bla bla
    mi da errori sul case... cosa sbaglio???

    vorrei che mettese in un unica colonna il valore di
    - fax1, se non c'è quello di
    - fax2, se non c'è neanche questo, quello di
    - fax, se non c'è neanche questo, non mettere niente, scartare la riga...

    Si potrebbe fare con un IIF??? ma come??

    grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mi sembra che così vada bene.

    codice:
    select *,
        case 
    	when (fax1 is null or len(fax1) = 0) and (fax2 is null or len(fax2) = 0) and (fax is not null and len(fax) >0) then fax	
    	when (fax1 is null or len(fax1) = 0) and (fax2 is not null) then fax2 
    	when fax1 is not null or len(fax1) > 0 then fax1
        end as numero_fax
    from tabella
    where not ( (fax1 is null or len(fax1) = 0) and (fax2 is null or len(fax2) = 0) and (fax is null or len(fax) = 0))
    Per l'esclusione delle righe nulle o vuote non so se esista qualche metodo più elegante. Non lavoro su mssql e ho solo qualche nozione di base.

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