我有一个来自SQL查询的带有多值参数的报告:
SELECT USER_ID, USER_NAME FROM USERS
我想使用where子句设置该参数的默认值。我要设置的默认值:
SELECT USER_ID, USER_NAME FROM USERS WHERE STATUS = 'ACTIVE'
我使用上述查询创建了2个单独的数据集,第一个设置为可用值,第二个设置为默认值,它可以工作。
我的问题是,在不创建另一个数据集的情况下,还有更好的方法吗?谢谢!
为默认值添加另一列,并在其中使用默认条件:
SELECT USER_ID, USER_NAME, CASE WHEN STATUS = 'ACTIVE' THEN USER_ID ELSE 0 END AS DEFAULT_ID
FROM USERS
使用USER_ID作为可用值,并使用DEFAULT_ID作为默认USER_ID值。
这假设您没有ID为0-如果您有0 ID,请使用-1。