查询中的条件操作者 [英] conditional opeartor in a query

查看:63
本文介绍了查询中的条件操作者的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



在以下查询中,我陷入了如何应用条件运算符的问题.
请帮我...

查询是

Hi,

In the following query, i am stuck how to apply conditional operator.
pls help me out...

The query is

SELECT
         NVL ((SELECT maxdrives
                FROM T4_child apici
               WHERE apici.item_number = b.item_number),
             0
            ) AS drives
     DECODE (SIGN ((SELECT COUNT (*)
                         FROM T1_item  ari
                        WHERE ari.item_number = b. _item_number
                          AND ari.master_id =
                                 (SELECT master_id
                                    FROM T2_master
                                   WHERE rule_name = b.rule_name
                                     AND delete_flag = ''0'')
                          AND ari.delete_flag = ''0''
                          AND ari.item_code = ''Voy'')
                     ),
                1, 1,
                DECODE (SIGN ((SELECT COUNT (*)
                                 FROM T3_item aci
                                WHERE aci.box_id = b.box_id
                                  AND aci.slot_number > 0
                                  AND item_code = ''LASH'')
                             ),
                        1, 1,
                        0
                       )
               ) AS voy,

   FROM T5_box b, T6_Si p
  WHERE b.order_id = p.order_id





在上面的查询中,如果Dirves = 60,我想根据条件执行以下查询





In the above query If Dirves =60 i want to execute following queries based on the condition

DECODE (SIGN ((SELECT COUNT (*)
                          FROM T1_item  ari
                         WHERE ari.item_number = b. _item_number
                           AND ari.master_id =
                                  (SELECT master_id
                                     FROM T2_master
                                    WHERE rule_name = b.rule_name
                                      AND delete_flag = ''0'')
                           AND ari.delete_flag = ''0''
                           AND ari.item_code = ''Voy'')
                      ),
                 1, 1,



其他



else

DECODE (SIGN ((SELECT COUNT (*)
                          FROM T1_item  ari
                         WHERE ari.item_number = b. _item_number
                           AND ari.master_id =
                                  (SELECT master_id
                                     FROM T2_master
                                    WHERE rule_name = b.rule_name
                                      AND delete_flag = ''0'')
                           AND ari.delete_flag = ''0''
                           AND ari.item_code = ''Voy'')
                      ),
                 1, 1,
                 DECODE (SIGN ((SELECT COUNT (*)
                                  FROM T3_item aci
                                 WHERE aci.box_id = b.box_id
                                   AND aci.slot_number > 0
                                   AND item_code = ''LASH'')
                              ),
                         1, 1,
                         0
                        )
                ) AS voy,



请让我知道如何在查询中应用条件运算符.

TIA.



Pls let me know how to apply conditional operator, in the query.

TIA.

推荐答案

您必须编写动态SQL语句才能做到这一点.
You will have to write Dynamic SQL Statements to do this.


这篇关于查询中的条件操作者的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆