在SQL中为这种类型的条件建议一个替代查询

时间:2017-06-19 13:32:48

标签: mysql sql

在sql中建议对此类条件的替代查询

select v_sdi_previous_id,v_sdi_settlement_flag,v_sdi_studentid 
    from schooldev."STUDENT_DETAILS_INFO" 
    where (upper(v_sdi_studentid)=upper('BS15B016') or (upper(v_sdi_previous_id)=('BS15B016')) )
    and n_sdi_schoolid='1' and v_sdi_active_flag='Y' 

2 个答案:

答案 0 :(得分:0)

这是非常简单的查询。你想要什么选择? 您可以使用IN而不是多个OR -

where upper(v_sdi_studentid) IN ('BS15B016', 'BS15B016')
and n_sdi_schoolid='1' and v_sdi_active_flag='Y'.

除非您没有根据需要获得输出,否则此查询不需要太多。

答案 1 :(得分:0)

从schooldev选择v_sdi_studentid为new_id,v_sdi_previous_id,v_sdi_settlement_flag。" STUDENT_DETAILS_INFO"其中upper(v_sdi_previous_id)IN(' BS15B016')和n_sdi_schoolid =' 1'和v_sdi_active_flag =' Y'