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
相关推荐
拾起零碎4 分钟前
U8/领料申请单SQL server触发器,如果自定义项13有值,把数量修改成件数乘以自定义项13,如果恰好件数等于现存量,则数量同步出空
数据库
磊 子6 分钟前
Redis详解
linux·数据库·redis·缓存
Mr_Xuhhh6 分钟前
LeetCode hot 100(C++版本)
c++·leetcode·哈希算法
故事和你919 分钟前
洛谷-入门6-函数与结构体
开发语言·数据结构·c++·算法·动态规划
夕除9 分钟前
Mysql--14
数据库·mysql
青瓷程序设计16 分钟前
【基于 YOLO的咖啡豆果实成熟度检测系统】+ Python+算法模型+目标检测+2026原创
python·算法·yolo
014-code16 分钟前
Java Optional 那些被忽略的用法
java·数据库·javase
程序员Shawn16 分钟前
【机器学习 | 第七篇】- 聚类算法
算法·机器学习·聚类
码云数智-园园23 分钟前
关系型与非关系型数据库:核心区别与业务场景解析
数据库·oracle
地平线开发者23 分钟前
征程 6X watchdog 问题分析
算法·自动驾驶