【发布时间】:2018-07-19 16:57:55
【问题描述】:
我在谷歌大查询中遇到了一个错误,我没有成功找到解决方案。
我有两个表Airnow_dataset.adjustedTime_met_la_wind_letter和Airnow_dataset.station_neighbour,前一个表中wind_direction列的值定义了后一个的列名。
我使用“case”子句来引用另一个表的相应列,但是每当我运行查询时就会出现错误
无法在 [3:83] 处访问字符串类型值的字段 pm_station
我想提一下station_neighbour 中返回的行数是1,所以应该没有问题。此外,当我硬编码s.pm_station value 时,它工作正常。我猜这个问题是由于外部查询中的别名造成的,但我不知道如何解决它。为了您的信息,我附上了我的表格的屏幕截图以及我的代码。
非常感谢任何帮助。
这是我的查询:
SELECT s.pm_station, s.RH, (CASE
WHEN s.wind_direction="W" then (SELECT ss.W FROM
`Airnow_dataset.station_neighbour` ss
WHERE ss.pm_station=s.pm_station )
ELSE "na"
END) as neighbour_wind_direction
FROM `Airnow_dataset.adjustedTime_met_la_wind_letter` s
这是模式的图像:
【问题讨论】:
标签: mysql google-bigquery