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
相关推荐
智者知已应修善业7 小时前
【51单片机数码管+蜂鸣器的使用】2023-6-14
c++·经验分享·笔记·算法·51单片机
2301_803538957 小时前
SQL如何避免不同团队修改同一张表_基于前缀名的授权GRANT ON语法
jvm·数据库·python
m0_678485457 小时前
c++怎么在Windows下设置文件的安全访问控制列表(ACL)权限【底层】
jvm·数据库·python
迷途之人不知返7 小时前
算法类型:双指针类型
算法
2301_817672267 小时前
Go语言怎么做六边形架构_Go语言六边形架构教程【简明】
jvm·数据库·python
吴可可1237 小时前
三点绘圆弧的几何实现
算法
kyle~7 小时前
导航---LIO(激光雷达-惯性里程计)算法
c++·算法·机器人·ros2·导航
m0_678485457 小时前
Pytest 实现两级参数化:让服务名依赖于应用名的灵活测试方案
jvm·数据库·python
Greyson17 小时前
如何监控集群 interconnect_ping与traceroute验证心跳通畅.txt
jvm·数据库·python
2301_764150567 小时前
Redis怎样向Lua脚本传递动态参数
jvm·数据库·python