在 Yahoo YQL 中组合两个查询

发布于 2024-09-09 12:34:31 字数 274 浏览 5 评论 0原文

我想获取特定位置的天气信息。

现在,我需要调用来获取它们:第一个调用将我当前的位置(纬度/经度)转换为 WOEID,第二个调用使用该 WOEID 检索天气信息。

我可以合并这两个查询吗?

第一个是: select * from yahoo.maps.findLocation 其中 q="LAT, LON" 和 gflags="R"

第二个是: 从 Weather.bylocation 中选择 *,其中位置 = WOEID AND 单位 = 'c'

I want to get the weather information for a specific location.

Right now, I need to calls to get them: The first one translated my current position (lat/lon) to a WOEID, the second call retrieves the Weather information by using that WOEID.

Can I combine those 2 queries?

The first one is:
select * from yahoo.maps.findLocation where q="LAT, LON" and gflags="R"

The second one is:
select * from weather.bylocation where location= WOEID AND unit = 'c'

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

追风人 2024-09-16 12:34:33

您可以使用子选择来连接不同查询之间的数据。

在您的情况下,您可以从 yahoo.maps.findLocation 表中获取 woeid,并将其插入到 weather.bylocation 表的查询中,如下所示:

select * 
from weather.bylocation 
where unit = 'c' and location in (
    select Results.woeid 
    from yahoo.maps.findLocation
    where q="LAT, LON" and gflags="R"
    limit 1
)

You can use sub-selects to join data between different queries.

In your case, you can grab the woeid from the yahoo.maps.findLocation table and insert that into a query against the weather.bylocation table as follows:

select * 
from weather.bylocation 
where unit = 'c' and location in (
    select Results.woeid 
    from yahoo.maps.findLocation
    where q="LAT, LON" and gflags="R"
    limit 1
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文