ストアド プロシージャの途中に、次のコード スニペットがあります。
case
when l.codeleasestatuscode = '5' and priorleaseid is null
and l.leaid in(select col1 from Waitlisthousehold)
then '2'
else l.codeleasestatuscode
end
ただし、Waitlisthousehold テーブルから選択する必要がある最終条件には問題があります。すべてのデータベースにそのテーブルがあるわけではありません。そのため、テーブルが存在するときに最後の条件を含める必要があります。しかし、これをやろうとするとエラーが発生します:
case
when l.codeleasestatuscode = '5' and priorleaseid is null
IF EXISTS(select * from information_schema.tables where table_name='WaitlistHousehold')
begin
and l.leaid in(select col1 from Waitlisthousehold)
end
then '2'
else l.codeleasestatuscode
end
では、どうすれば正しくできますか?
このスニペットは from ステートメント内にあります (from table1 a join table2 b on a.id=b.id and case when..)