Case Deyimi Geçersiz İfade SQL

0

Soru

Bu snippet'i Teradata sql'de çalıştırarak 'CASE ifadesinin yan tümcesinde geçersiz ifade' hatasının nereden geldiğini anlamıyorum

CASE 
  WHEN f_ev1.PROCESS_NO IN 
    (
      SELECT
        numbers.PROCESS_NO
      FROM numbers
      WHERE 
        numbers.FLAG = 1
      GROUP BY 1 --no duplicates
    ) THEN 2
END AS Status,

Eğer yazarsam (bazı sayılar) iyi çalışır. Ancak, zaman içinde değişebilecek 50 benzersiz değerden oluşan bir listedir.

case sql teradata
2021-11-16 11:32:54
1

En iyi cevabı

0

Önerim, elli değeri başka bir tabloya yükleyebilmeniz ve bu tabloya ana tabloyla katılabilmenizdir

table_50-50 benzersiz değere sahip tablo main_tbl-Ana tablo

insert into table_50 ( process_no ) SELECT numbers.PROCESS_NO FROM numbers WHERE numbers.FLAG = 1 GROUP BY 1 ;

Select case when b.process_no is null then 2  end as status from main_table a
left join table_50 b
on a.process_no= b.process_no

Performans açısından bakıldığında bu daha etkilidir ve table_50'deki değerleri gereksiniminize göre de güncelleyebilirsiniz

2021-11-23 13:08:01

Diğer dillerde

Bu sayfa diğer dillerde

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