返回介绍

solution / 1400-1499 / 1421.NPV Queries / README

发布于 2024-06-17 01:03:19 字数 2129 浏览 0 评论 0 收藏 0

1421. 净现值查询

English Version

题目描述

表: NPV

+---------------+---------+
| Column Name   | Type  |
+---------------+---------+
| id      | int   |
| year      | int   |
| npv       | int   |
+---------------+---------+
(id, year) 是该表主键(具有唯一值的列的组合).
该表有每一笔存货的年份, id 和对应净现值的信息.

 

表: Queries

+---------------+---------+
| Column Name   | Type  |
+---------------+---------+
| id      | int   |
| year      | int   |
+---------------+---------+
(id, year) 是该表主键(具有唯一值的列的组合).
该表有每一次查询所对应存货的 id 和年份的信息.

 

编写解决方案,找到 Queries 表中每一次查询的净现值。

结果表 没有顺序要求

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

 

示例 1:

输入:
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 表中找到.

解法

方法一

# Write your MySQL query statement below
SELECT q.*, IFNULL(npv, 0) AS npv
FROM
  Queries AS q
  LEFT JOIN NPV AS n USING (id, year);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文