No es capaz de concatenar los Valores Basados en Diferentes columnas en caso de declaración -de Copo de nieve

0

Pregunta

La esperanza está haciendo bien!..Estoy tratando de concatenar los valores de caso cuando instrucción basada en diferentes columnas en forma de copo de nieve ..por Favor, encontrar el bloque de código siguiente

select *,

case when checkouttime is null then ',Patient is not checked out' else '' END
+ case when primarypatientinsuranceid is null then ',No insurance information' else '' END
+ case when closedby is null then ',Encounter not signed off' else '' END
+ case when billingtabcheckeddate is null then ',Billing tab is not checked' else '' 
+ case when alreadyrouted is null then ',Missing slip already routed' else 'Valid Missing slip'

END as resultant

from final

Estoy recibiendo el mensaje de error que indica "Inesperado"

Estoy tratando de construir la resultante de la columna de salida como la siguiente

Patient is not checked out/Billing tab is not checked
Missing slip already routed
Encounter not signed off/No insurance information /Billing tab is not checked
Valid Missing slip

Gracias, Arun

case snowflake-cloud-data-platform
2021-11-16 08:52:58
2

Mejor respuesta

1

Una alternativa más limpia que añade comas como sea necesario, usando array_to_string(array_construct_compact()):

with data as (
    select null checkouttime
        , 2 primarypatientinsuranceid
        , null closedby
        , 4 billingtabcheckeddate
        , 5 alreadyrouted
)

select array_to_string(array_construct_compact(
    iff(checkouttime is null, 'Patient is not checked out', null) 
    , iff(primarypatientinsuranceid is null, 'No insurance information', null)
    , iff(closedby is null, 'Encounter not signed off', null)
    , iff(billingtabcheckeddate is null, 'Billing tab is not checked', null)
    , iff(alreadyrouted is null, 'Missing slip already routed', 'Valid Missing slip')
    ), ',  ')
as resultant
from data
2021-11-16 21:53:34

Gracias @Felipe...Esto realmente ayuda!
user3369545

Por favor, acepte la respuesta si es la respuesta que quería :)
Felipe Hoffa

Gracias @Felipe!...Sí, me han aceptado la respuesta...
user3369545
1

En Copo de nieve, el uso de "||" a concat cadenas, no "+":

select 
case when true then ',Patient is not checked out' else '' END
|| case when false then ',No insurance information' else '' END
|| case when true then ',Encounter not signed off' else '' END
|| case when true then ',Billing tab is not checked' else '' END
|| case when false then ',Missing slip already routed' else 'Valid Missing slip' END 
as resultant;

https://docs.snowflake.com/en/sql-reference/functions/concat.html

2021-11-16 11:33:34

Gracias @ Eric Lin..Esto es realmente útil....Puede usted por favor hágamelo saber cómo quitar el primer personaje que viene como las comas
user3369545

Lo siento, por favor, puedes aclarar? No entiendo bien su pregunta anterior.
Eric Lin

Hola Eric....En la salida resultante puedo obtener una coma en el principio ...me estaba preguntando cómo deshacerse de la coma...
user3369545

Eso es porque no fue una "," en", el Paciente no está desprotegido' ¿supongo?
Eric Lin

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................