内部加入两个 SELECT 查询
Inner join with two SELECT queries
我正在上一些在线课程,但对这一切还是很陌生。我有两个 SELECT 语句,它们可以完美地分开工作,但是当我添加 INNER JOIN 时,事情就不起作用了。我知道我一定是错过了一些如此简单得可笑的东西,但我只是没有看到它。
Farm_prices
栏目信息
index INTEGER NULLABLE
date DATE NULLABLE
cropType STRING NULLABLE
GEO STRING NULLABLE
pricePerMT FLOAT NULLABLE
Monthly_FX
栏目信息
index INTEGER NULLABLE
date DATE NULLABLE
FXUSDCAD FLOAT NULLABLE
以及我尝试加入的两个 select 语句
SELECT *
FROM `ibm-project-326221.IBM_project.MONTHLY_FX`
WHERE date >= '2020-07-01'
SELECT *
FROM `ibm-project-326221.IBM_project.farm_prices`
WHERE cropType = 'Canola'
AND GEO = 'Saskatchewan'
AND date >= '2020-07-01'
只是一个猜测,没有看到您的 table 架构、数据或预期结果,但简单的内部联接将是
select *
from farm_prices p
join MONTHLY_FX m on m.index=p.index
where p.cropType = 'Canola'
and p.GEO = 'Saskatchewan'
and p.date >= '2020-07-01'
据推测,您想要相应日期的外汇汇率,因此连接键应该是 date
,而不是 index
:
SELECT fp.*, fx.*
FROM `ibm-project-326221.IBM_project.farm_prices` fp JOIN
`ibm-project-326221.IBM_project.MONTHLY_FX` fx
ON fp.date = fx.date
WHERE fp.cropType = 'Canola' AND
fp.GEO = 'Saskatchewan' AND
fp.date >= '2020-07-01'
我正在上一些在线课程,但对这一切还是很陌生。我有两个 SELECT 语句,它们可以完美地分开工作,但是当我添加 INNER JOIN 时,事情就不起作用了。我知道我一定是错过了一些如此简单得可笑的东西,但我只是没有看到它。
Farm_prices
栏目信息
index INTEGER NULLABLE
date DATE NULLABLE
cropType STRING NULLABLE
GEO STRING NULLABLE
pricePerMT FLOAT NULLABLE
Monthly_FX
栏目信息
index INTEGER NULLABLE
date DATE NULLABLE
FXUSDCAD FLOAT NULLABLE
以及我尝试加入的两个 select 语句
SELECT *
FROM `ibm-project-326221.IBM_project.MONTHLY_FX`
WHERE date >= '2020-07-01'
SELECT *
FROM `ibm-project-326221.IBM_project.farm_prices`
WHERE cropType = 'Canola'
AND GEO = 'Saskatchewan'
AND date >= '2020-07-01'
只是一个猜测,没有看到您的 table 架构、数据或预期结果,但简单的内部联接将是
select *
from farm_prices p
join MONTHLY_FX m on m.index=p.index
where p.cropType = 'Canola'
and p.GEO = 'Saskatchewan'
and p.date >= '2020-07-01'
据推测,您想要相应日期的外汇汇率,因此连接键应该是 date
,而不是 index
:
SELECT fp.*, fx.*
FROM `ibm-project-326221.IBM_project.farm_prices` fp JOIN
`ibm-project-326221.IBM_project.MONTHLY_FX` fx
ON fp.date = fx.date
WHERE fp.cropType = 'Canola' AND
fp.GEO = 'Saskatchewan' AND
fp.date >= '2020-07-01'