繁体   English   中英

在 SQL select 语句中返回默认值未找到搜索值

Return deafult value in SQL select statment searched value is not found

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

当不满足 WHERE 子句时,我需要在 Select 语句中返回默认值。 所以基本上,这个查询返回有效的 guid:

SELECT COALESCE(w.guid , gen_random_uuid()) as guid
        FROM MyTable w
        WHERE w.id = 108
        AND w.company IN (27);

但这没有找到 id 109,所以它应该生成新的随机 uuid:

SELECT COALESCE(w.guid , gen_random_uuid()) as guid
        FROM MyTable w
        WHERE w.id = 109
        AND w.company IN (27);

但它什么都不返回。 我该如何解决这个问题?

2 个回复

您没有 uuid,因为没有选择任何行,因此没有返回任何内容。 这可能会解决您的问题:

  SELECT coalesce(
    (select w.guid FROM MyTable w
        WHERE w.id = 109 AND w.company IN (27)
    ), 
    gen_random_uuid()) as guid;

没有在真实数据上测试它,但你明白我的想法。

在创建默认值的子选择上使用 RIGHT JOIN。 像这样的东西(未经测试,没有可用数据):

SELECT 
    COALESCE( w.guid, G.guid ) AS guid 
FROM
    genius."attribute" w
    RIGHT JOIN ( SELECT gen_random_uuid()) G ( guid ) ON w.ID = 109 AND w.company IN ( 27 );
1 将第一个值设置为默认选择框值

设置默认下拉值的html代码。 必须将列表中的第一个值设置为默认选定值。 下面是我可以在其中设置值的控制器。 这是服务器的响应 尝试过ng-int,ng-select没有任何作用。 ...

2 将默认值插入SQL选择语句

我需要在select语句中插入一个默认值,所以我是以这种方式进行的。 有什么更好的方法可以做到这一点吗? 我需要在表Sitetbl select语句中插入“全部”作为第一行值。 例如:结果是我的样子 ...

5 如何从插入sql语句返回值,即是否插入了数据

这是我现在使用C#的插入代码,我想解决输出问题,我的意思是插入或不插入代码,即我想解决这三件事1.成功插入代码2.产品名称已经存在3.发生SQL异常错误 而我的C#代码是 输出变量将根据以上三个条件返回 ...

2014-05-07 09:33:35 1 63   c#/ sql
7 带有 if 语句的函数没有返回值

如果不满足条件,我如何从函数返回。 我正在尝试创建一个除法函数,它将返回将 2 个数字相除的结果,但是如果它被零除我如何不返回任何内容。 编译时我收到此警告: 警告:控制到达非空函数的结尾 我明白这意味着什么,但是如果我不想返回值,我应该在 n2 为 0 的情况下放什么; ...

2021-01-28 17:42:15 1 77   c++
10 返回最接近要搜索的值

enter code here我需要先按类型对车辆进行配对,然后再对油耗进行配对。 燃油消耗可能不匹配,在这种情况下,选择最接近的值。 同一辆车不能多次配对。 我正在谈论的数据类型示例如下 它将返回如下输出: 在此处输入图像描述 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM