leetcode 1421 净现值查询(postgresql)

需求

表: NPV

±--------------±--------+

| Column Name | Type |

±--------------±--------+

| id | int |

| year | int |

| npv | int |

±--------------±--------+

(id, year) 是该表主键.

该表有每一笔存货的年份, id 和对应净现值的信息.

表: Queries

±--------------±--------+

| Column Name | Type |

±--------------±--------+

| id | int |

| year | int |

±--------------±--------+

(id, year) 是该表主键.

该表有每一次查询所对应存货的 id 和年份的信息.

写一个 SQL, 找到 Queries 表中每一次查询的净现值.

结果表没有顺序要求.

查询结果的格式如下所示:

NPV 表:

±-----±-------±-------+

| id | year | npv |

±-----±-------±-------+

| 1 | 2018 | 100 |

| 7 | 2020 | 30 |

| 13 | 2019 | 40 |

| 1 | 2019 | 113 |

| 2 | 2008 | 121 |

| 3 | 2009 | 12 |

| 11 | 2020 | 99 |

| 7 | 2019 | 0 |

±-----±-------±-------+

Queries 表:

±-----±-------+

| id | year |

±-----±-------+

| 1 | 2019 |

| 2 | 2008 |

| 3 | 2009 |

| 7 | 2018 |

| 7 | 2019 |

| 7 | 2020 |

| 13 | 2019 |

±-----±-------+

结果表:

±-----±-------±-------+

| id | year | npv |

±-----±-------±-------+

| 1 | 2019 | 113 |

| 2 | 2008 | 121 |

| 3 | 2009 | 12 |

| 7 | 2018 | 0 |

| 7 | 2019 | 0 |

| 7 | 2020 | 30 |

| 13 | 2019 | 40 |

±-----±-------±-------+

(7, 2018)的净现值不在 NPV 表中, 我们把它看作是 0.

所有其它查询的净现值都能在 NPV 表中找到.

输入

输出

sql 复制代码
select q.id,q.year,coalesce(npv,0) as npv
from queries q
left join npv n
on q.id=n.id and q.year=n.year
相关推荐
寒秋丶6 分钟前
Milvus:集合(Collections)操作详解(三)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
寒秋丶8 分钟前
Milvus:Schema详解(四)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
mit6.82412 分钟前
博弈dp|凸包|math分类
算法
kyle~19 分钟前
CPU调度---协程
java·linux·服务器·数据库·c++20
IDOlaoluo19 分钟前
SQL Server 2017 Developer 中文版安装教程(64位 ISO 文件详细步骤)
服务器·数据库·负载均衡
少废话h21 分钟前
Spark 中数据读取方式详解:SparkSQL(DataFrame)与 SparkCore(RDD)方法对比及实践
大数据·sql·spark
Shinom1ya_33 分钟前
算法 day 41
数据结构·算法·leetcode
hetao17338371 小时前
2025-10-30 ZYZOJ Star(斯达)模拟赛 hetao1733837的record
c++·算法
无敌最俊朗@1 小时前
C++ 值类别与移动语义详解(精简版)
java·数据结构·算法
一只游鱼2 小时前
Springboot+BannerBanner(启动横幅)
java·开发语言·数据库