我试图通过雅虎YQL获取天气数据,这里是下面的查询,我的问题是如何查询这些仅在美国找到的地点?我尝试添加AND country =" US"或者放置="美国",但不会返回任何结果。我想只搜索美国,因为在搜索加利福尼亚州丹维尔时,它会带来2个结果,1个来自美国,1个来自加拿大。有什么建议?谢谢!
SELECT
*
FROM
weather.forecast
WHERE
woeid
IN
(
SELECT
woeid
FROM
geo.places
WHERE
text
IN("Danville, CA","Sunnyvale, CA")
)
AND
u="f"
答案 0 :(得分:0)
看起来我发布的太快了。我有两种方法可以解决这个问题。
第一个解决方案:
我将Country =“United States”添加到查询的错误部分。我在AND u =“f”之后添加它,当我将它添加到子查询时它起作用:
SELECT woeid FROM geo.places WHERE text IN("Danville, CA","Sunnyvale, CA") AND country = "United States"
第二个解决方案:
这是我要解决的问题,因为它解决了我的问题,如果我偶然需要在美国境外搜索并且更容易实施。我不是按City,State搜索,而是将国家/地区代码添加到查询中:
SELECT woeid FROM geo.places WHERE text IN("Danville, CA US","Sunnyvale, CA US")
如果我需要在其他国家/地区进行搜索,我可以简单地编辑单个文本搜索,而不是将所有搜索绑定到美国。