sql - SQL - 在嵌套查询中的表之间传输值
问题描述
一个忠实的 python 在这里尝试使用 SQL 查询而不是 Pandas 来完成任务。这可能是一个非常基本的问题,但这里有:
所以我有一个名为 Reading 的表格,它显示了不同地点的每月用电量:
=== Reading ===
ID PlacementID DateFrom DateUntil Usage
1 3552 2018-07-01 2018-07-31 5992
2 3552 2018-08-01 2018-08-31 6318
3 3554 2018-08-01 2018-08-31 4782
4 3554 2018-09-01 2018-09-30 2001
5 3558 2018-08-01 2018-08-31 1582
6 3558 2018-09-01 2018-09-30 1825
我还有一个名为 ReadingDay 的表,它以类似的方式存储日常使用值 - 但是,它不包含 PlacementID - 相反,它通过一个名为“ReadingID”的列与 Reading 表相关,该列对应于 Reading 中的“ID”列:
=== ReadingDay ===
ID ReadingID Date Usage
1 1 2018-07-01 302
2 1 2018-07-02 254
....
182 6 2018-09-30 186
183 6 2018-09-31 104
在这种情况下,我的目标是查询 ReadingDay 表中所有属于 PlacementID 3552 和 3558 的实例,如 ReadingDay 表中声明的那样,并在 ReadingDay 表中创建一个名为“PlacementID”的列,以便人们可以轻松查看哪个位置在数据中被引用,而无需查看阅读表。
这是我尝试做的非功能性新手代码(即使对我来说,这不起作用的原因也很明显,但这是我迄今为止最好的选择):
SELECT ID, ReadingID, Date, Usage
FROM ReadingDay
WHERE ReadingID IN (
SELECT ID
FROM Reading
WHERE PlacementID IN (3552, 3558)
)
INSERT PlacementID
解决方案
select rd.ID, rd.ReadingID, rd.Date, rd.Usage, r.PlacementID
from ReadingDay rd 内部连接 Reading r on rd.ID = r.PlacementID
WHERE r.PlacementID IN (3552, 3558)
推荐阅读
- python - Pytesseract TesseractNotFoundError [Python 3]
- laravel - Webpack 混合 Laravel。将文件数组捆绑到同一个文件夹中
- ios - 将手势添加到自定义视图
- javascript - 在构建时更改 Angular Material 主题变量
- adobe - 如何在 AEM 中的 dam 中上传图像和 pdf 文件时添加 sizelimit 和 type 等限制?
- vb.net - 在特定单词处拆分字符串
- opencv - 移除对象内部的对象
- r - 是否可以将存储在 N*1 矩阵中的单词转换为 R 中的单个句子?
- java - Jflex 中的模式
- google-signin - 生产服务器上的 Google 登录不同