Není možné zřetězit Hodnoty Založené na Různých sloupců v případě, kdy prohlášení -sněhová Vločka

0

Otázka

Doufám, že děláte dobře!..Snažím se zřetězit hodnoty případě, kdy prohlášení na základě různých sloupců v sněhová vločka ..Prosím najděte blok kódu níže

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

Dostávám chybová zpráva, že "Nečekané jako"

Snažím se stavět výsledný sloupec výstup jako následující

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

Díky, Arun

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

Nejlepší odpověď

1

Čistší alternativu, která přidává čárky, jak je to nutné, pomocí 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

Díky @Felipe...To opravdu pomáhá!
user3369545

Přijměte, prosím, odpověď, jestli je to odpověď, kterou chtěl :)
Felipe Hoffa

Díky @Felipe!...Ano, přijal jsem odpověď...
user3369545
1

V sněhová Vločka, můžete použít "||" do řetězce concat, není "+":

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

Díky @ Eric Lin..To je opravdu užitečné,....Můžete, prosím, dejte mi vědět, jak odstranit první znak přijde jako čárka
user3369545

Promiňte, můžete mi prosím objasnit? Nemám plně pochopit tvou výše uvedenou otázku.
Eric Lin

Ahoj Eriku....Ve výstupu výsledné jsem si čárku na začátku jsem se ptal, jak se zbavit čárka...
user3369545

To proto, že tam byl "," v ',Pacient není rezervován' asi?
Eric Lin

V jiných jazycích

Tato stránka je v jiných jazycích

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