Объединение двух запросов в Yahoo YQL - PullRequest
4 голосов
/ 11 июля 2010

Я хочу получить информацию о погоде для определенного местоположения.

Сейчас мне нужны звонки, чтобы получить их: первый переводил мою текущую позицию (широта / долгота) в WOEID, второй вызов извлекает информацию о погоде, используя этот WOEID.

Могу ли я объединить эти 2 запроса?

Первый: выберите * из yahoo.maps.findLocation, где q = "LAT, LON" и gflags = "R"

Второй: выберите * из weather.bylocation, где location = WOEID AND unit = 'c'

1 Ответ

4 голосов
/ 12 июля 2010

Вы можете использовать суб-выбор для объединения данных между различными запросами.

В вашем случае вы можете взять woeid из таблицы yahoo.maps.findLocation и вставить его в запрос к таблице 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
)
...