如何组合来自两个相当不同的YQL SELECT(不是子选择)的结果?

时间:2012-02-28 22:04:14

标签: select yql

我有以下两个YQL查询,每个查询都可以自行运行,但我很确定有一种方法我无法在一个更复杂的查询中找到它们:

SELECT * FROM xml WHERE url="http://www.google.com/ig/api?weather=Tbilisi"
AND itemPath="//current_conditions/temp_c"

SELECT * FROM html WHERE url='http://amindi.ge/'
AND xpath="//*[@id='maincityholder']/h1"

这里有类似措辞的问题都是关于子选择的问题,使用query.multi似乎不再存在,或选择*以外的其他我无法得到的东西即使是孤立地使用我的任何一个查询。

可能是itemPathxpath条款是问题,但正如我所说,如果没有这些条款我就无法工作。我错过了什么或者我的特定查询无法做到这一点吗?

1 个答案:

答案 0 :(得分:4)

query.multi表存在于它始终具有的相同位置。您是否忘记加载该表(或通常的env=store://datatables.org/alltableswithkeys)?

还有一个yql.query.multi表,其使用方式与query.multi完全相同,但存在于YQL中,因此不需要将数据表加载到环境中。

以下查询,记录您的个人查询(以及在必要时更改/转义引号)

SELECT * FROM yql.query.multi WHERE queries='
    SELECT * FROM xml WHERE url="http://www.google.com/ig/api?weather=Tbilisi"
    AND itemPath="//current_conditions/temp_c";
    SELECT * FROM html WHERE url="http://amindi.ge/" 
    AND xpath="//*[@id=\'maincityholder\']/h1"
';

给出

<results>
    <results>
        <temp_c data="-2"/>
    </results>
    <results>
        <h1>6&deg;</h1>
    </results>
</results>

Try it in the YQL console)功能