根据表值在SQL查询中添加条件

时间:2019-06-03 15:42:24

标签: sql database oracle

我正在使用oracle作为我的数据库。我想在基于表数据的sql查询中添加条件。在表中,如果CT_GENERAL为1,那么我想在我的sql查询中添加另一个条件。(CST_GENERAL = USER ARGUMENT)。

从ch_caseinfo中选择*,其中     ct_general = 1时的情况             然后cst_general =%3     结束

%3 =资金

//表结构 // CH_CASEINFO

VOLUMEID | CT_ADVERSE | CT_GENERAL | CT_HA | CT_MI | CST_GENERAL | CST_MI

149634          0          0          0          0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
161077          0          0          0          0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
161147          0          1          0          1 Funding          Composition/ingredients                                                                                                                                                                                                                                        
161268          0          1          0          0 Funding                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
161306          0          1          0          0 Manufacturing                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
240131          0          1          1          0 Funding                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
239364          0          0          0          0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
239364          0          0          0          0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
147434          0          0          0          0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
147466          0          0          0          0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
158990          0          1          0          1 Funding          Administration                                                                                                                                                                                                                                                 

 98863          1          1          1          1 Funding          Disposal                                                                                                                                                                                                                                                       
159757          1          1          1          1 Funding          Disposal                                                                                                                                                                                                                                                       
 98863                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
191039          1          1          0          0 Other                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
 97007          0          0          0          0     

ORA-00905:缺少关键字 00905. 00000-“缺少关键字”

1 个答案:

答案 0 :(得分:0)

您需要形成where子句,以计算不希望包含过滤器(CT_GENERAL为0)时为真的表达式。考虑下面的示例,如果ct_general = 0,则cst_general将始终等于cst_general(除非为null-如果可能,则需要容纳null)。

SELECT *
FROM ch_caseinfo
WHERE CASE WHEN ct_general = 0 THEN cst_general ELSE USERARGUMENT END = cst_general
    AND OTHERCRITERIA = CRITERIA