Не удается объединить значения на основе разных столбцов в случае, если оператор-Снежинка

0

Вопрос

Надеюсь, у тебя все хорошо!..Я пытаюсь объединить значения оператора case when на основе разных столбцов в snowflake ..Пожалуйста, найдите блок кода ниже

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

Я получаю сообщение об ошибке "Неожиданно, как"

Я пытаюсь построить результирующий вывод столбца следующим образом

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

Спасибо, Арун

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

Лучший ответ

1

Более чистая альтернатива, которая добавляет запятые по мере необходимости, используя 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

Спасибо @Felipe...Это действительно помогает!
user3369545

Пожалуйста, примите ответ, если это тот ответ, который вы хотели :)
Felipe Hoffa

Спасибо, @Фелипе!...Да, я принял ответ...
user3369545
1

В Snowflake вы используете "||" для объединения строк, а не "+":

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

Спасибо @ Eric Lin..Это действительно полезно....Пожалуйста, дайте мне знать, как удалить первый символ, приходящийся на запятую
user3369545

Извините, не могли бы вы уточнить, пожалуйста? Я не совсем понимаю ваш вопрос выше.
Eric Lin

Привет, Эрик....В выводе для результирующего я получаю запятую в начале ...Я спрашивал, как избавиться от запятой...
user3369545

Это потому, что там было", "в", Пациент не выписан", я думаю?
Eric Lin

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................