Oracle11g Oracle SQL条件查询
我有一个表格作为项目_LOC,格式如下:Oracle11g Oracle SQL条件查询,oracle11g,case,conditional-statements,Oracle11g,Case,Conditional Statements,我有一个表格作为项目_LOC,格式如下: ITEM LOC UNIT RETAIL 100 KS 20 101 JS 22 102 RS null 我需要找到零售部, 如果存在loc:RS的记录,则应获得该记录。 如果它不存在于RS中,那么它应该在JS中找到。 如果JS不存在,那么应该为KS找到它 如果KS的值不存在,它应该返回NULL 如何处理这种情况?您可以通过一个子选择来完成此操作,该子选择将LOC转换为按优先级
ITEM LOC UNIT RETAIL
100 KS 20
101 JS 22
102 RS null
我需要找到零售部,
如果存在loc:RS的记录,则应获得该记录。
如果它不存在于RS中,那么它应该在JS中找到。
如果JS不存在,那么应该为KS找到它
如果KS的值不存在,它应该返回NULL
如何处理这种情况?您可以通过一个子选择来完成此操作,该子选择将LOC转换为按优先级排序的数字,并获取当前的最佳数值: 挑选* 来自第_项LOC 其中解码器loc,'RS',1,'JS',2,'KS',3,null= 选择mindecodeLOC、RS、1、JS、2、KS、3、4 来自第_项LOC 请注意,如果这些LOC代码都不存在,您将得到一个空结果集。 如果存在重复代码,则可以有多个结果