gpt4 book ai didi

postgresql - SELECT 语句中的 SQL 语句 If 语句

转载 作者:行者123 更新时间:2023-11-29 14:12:16 29 4
gpt4 key购买 nike

有没有办法在 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com