2012-02-28 8 views
3

私は以下の2つのYQLクエリを持っていますが、それぞれがうまく機能しますが、もっと複雑なクエリで両方を取得できない方法があります。2つのかなり異なるYQL SELECT(副選択ではない)の結果を結合するにはどうすればよいですか?

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という句が問題になる可能性がありますが、私が言うように、これらの機能がなくても動作することはできません。何か不足しているのですか、または私の特定のクエリでこれができないのですか?

答えて

4

query.multiテーブルは常に同じ場所にあります。あなたはそのテーブル(または通常env=store://datatables.org/alltableswithkeys)をロードすることを忘れましたか?

テーブルもあります。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

+0

を与えるうーん、私はされていません私は最近StackExchangeで見つけた 'query.multi'を使って何かの例を得ることができます。私はちょうどそれが実際に非難されているための検索をしました!ある時点で 'query.multi'から' yql.query.multi'に変更されたようです。また、YQLコンソールへのリンクは私のためには機能しません。 – hippietrail

+0

素晴らしい!これは主に動作します。私は 'temp'cの結果から' data'属性を取得する方法を見つけることができません。もし 'JSON'形式で結果を取得すると、最初の結果はまったく何もありません。そこで 'itemPath'をどのように変更すればよいですか? – hippietrail

+1

私が言ったように、コミュニティテーブルをロードしていますか? 'query.multi'を使う前に、コンソールの" Show Community Tables "をクリックしてください。つまり、常に利用可能な 'yql.query.multi'テーブルがあります。あなたが見ている実際の問題が何であるかを知らずに、物事を働かせないことは、あなたを助けるのが難しいです。コンソールにエラーがありますか?そして、コンソールでクエリを実行するためのリンクを修正しました。 – salathe

関連する問題