0

以下にソースからのクエリがあります。これは、ターゲットのアクティブフラグがどのように導出されるかです

 select case when active_end_date is null then 'Y' else 'N' end
    from csi_item_instances cii
    where instance_id = <<INSTALL BASE ID>> --- (MP.INSTALL_BASE_ID)

以下の SQL を使用してアクティブなフィールド値を比較していますが、これを行うより良い方法はありますか?

 select * from stgdba.Stg_s_csi_item_instances cii, MDHDBA.M_CUSTOMER_PRODUCT mp
    where cii.instance_id= MP.INSTALL_BASE_ID
    and cii.active_end_date is null
    and MP.ACTIVE_FLAG = 'N'
4

1 に答える 1

0

その値がそのように永続的に計算される場合は、ビュー/計算列でそれを行うことができます。これにより、ロジックがもう少し永続的になり、あちこちで繰り返されなくなります。

(文体的には、ANSI 結合をもう少し使用してみます。)

于 2012-11-28T21:00:40.200 に答える