作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法在 select 语句中使用 if 语句?
我不能在这个中使用 Case 语句。实际上我正在使用 iReport 并且我有一个参数。我想要做的是,如果用户没有输入某个参数,它将选择所有实例。
例如一个引用性别表的人表,在 where 子句上有一个参数,查询会像这样:
SELECT * FROM persontable WHERE gender_id = $P{genderName}:numeric
如果参数 $P{genderName} 为 null 或空白,则它将选择全部。我试过这个查询:
SELECT * FROM persontable WHERE gender_id IN (SELECT CASE WHEN $P{genderName}
IS NULL THEB (SELECT id from genderTable
WHERE id = $P{genderName}:numeric) ELSE $P{genderName}::numeric END)
但是它会返回一个错误“More that one row is returned.....”我认为这是因为 CASE 语句。我该怎么做?
最佳答案
试试这个:
SELECT * FROM persontable
WHERE gender_id = $P{genderName} OR $P{genderName} IS NULL
关于postgresql - SELECT 语句中的 SQL 语句 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320233/
我是一名优秀的程序员,十分优秀!