2016-04-04 9 views
0

私は2つのテーブル:ユーザー,user_matchingを持っています。そして、私は1つのクエリで両方のテーブルから項目を取得したいと思います。たとえば、SQLのようなクエリ:リファレンスタラントールでの検索

通常、私はNoSQL DBで2つのクエリを使用する必要があります。

  1. ユーザー

から入手のuser_idでのuser_id

  • をuser_matching から取得し、私はTarantoolを使用してのみ、1つのクエリに置き換えることができます:今、私はこのようにそれを行います。そしてどのように?

  • 答えて

    3

    あなたは2つの選択の結果を組み合わせて、ストアドプロシージャ、例えばを作成する必要があります。:

    function select_user_by_matching_id(matching_id) 
        local id = box.space.user_matching:get{matching_id} # or :select 
        local user_data = box.space.user:get{id} # or :select 
        # work with user_data 
        return user_data 
    end 
    

    あなたが結合された結果を取得してTarantoolドライバを介して、この手順を呼び出すことができ、このプロシージャを作成した後。ここ

    もっと詳しく:1つのタプルに 'ID' & 'のuser_data' からhttp://tarantool.org/doc/book/app/c-lua_tutorial.html?highlight=call

    +0

    しかし、どのように組み合わせるためのタプル? – PSIAlt

    +1

    http://stackoverflow.com/questions/36177960/how-i-can-perform-request-to-tarantool-like-in-mysql/36178380#36178380ここに回答があります –