0
基于列值,我需要在Oracle sql中执行2个不同的查询。切换oracle语句的case语句以决定执行哪个查询
表A
Col1 Col2
R51 desc_r51
R52 desc_r52
R53 desc_r53
表B
Col1 Type Username
R51 All A
R52 Specific B
现在我需要编写一个查询,其中
- 如果类型是所有表B,得到所有的值来自表A的Col1
- 如果类型是表B中的具体,得到只有被匹配表A的 Col1中的值和表B
因此,在这种情况下,如果类型是全部,那么结果应该是 R51,R52,R53
如果数据类型为具体,那么结果应该是 R52
任何帮助吗?
听起来像你需要用参数的storeprocedure。 'CASE'评估expresion并生成一个值。不起流量控制的作用。 –
我很困惑。为什么不只是:'SELECT * FROM table_b b内连接table_a a(a.col1 = b.col1 AND b.type ='Specific')或b.type ='All''? –