Db2 基于条件的火灾查询。如果;“全部”;然后需要从视图中获取所有数据,但若值不同于数据,则应基于该值

Db2 基于条件的火灾查询。如果;“全部”;然后需要从视图中获取所有数据,但若值不同于数据,则应基于该值,db2,Db2,我是DB2新手。请帮我解决我的问题 我需要根据条件在DB2中启动sql查询。 比如,如果值是“All”,那么我需要从视图中获取所有数据,但如果值不是数据,则应基于该值 例如: SELECT M.Col1, M.Col2, M.Col3 FROM view M WHERE M.Col1 = {?param} and D.Col2 = '{?paramC}' 现在 如果?paramC为'All',则then查询应为 SEL

我是DB2新手。请帮我解决我的问题

我需要根据条件在DB2中启动sql查询。 比如,如果值是“All”,那么我需要从视图中获取所有数据,但如果值不是数据,则应基于该值

例如:

SELECT 
     M.Col1, 
     M.Col2, 
     M.Col3
FROM   
     view M
WHERE 
     M.Col1 = {?param} and
     D.Col2 = '{?paramC}'

现在 如果?paramC为'All',则then查询应为

SELECT 
     M.Col1, 
     M.Col2, 
     M.Col3
FROM   
     view M
WHERE 
     M.Col1 = {?param}      // means ?paramC is rejected if All is selected

else
SELECT 
     M.Col1, 
     M.Col2, 
     M.Col3
FROM   
     view M
WHERE 
     M.Col1 = {?param} and
     D.Col2 = '{?paramC}'      // means if ?paramC is some value like 1,2,3 etc
希望我的问题清楚。我被困在这里了。
提前谢谢。

我想,这解决了我的问题。。谢谢:)
SELECT M.Col1, M.Col2, M.Col3 FROM
view M WHERE M.Col1 = {?param} and (D.Col2 = '{?paramC}' or '{?paramC}' = 'All')