11

Qでネストされたクエリの結果を使用するには、どのような方法がありますか?where

SQLステートメントに似たものを探しています。

select from food where type_id in (
    select type_id from types where type_name = "fruit"
)
4

3 に答える 3

7
select from food where type_id in (exec type_id from types where type_name like "fruit")

in述語に渡したものとは別に、クエリはほぼ正しかったし、文字列の等価性に like 関数を使用していました。リストのみを受け入れる場合、テーブルを渡しています。クエリをリストとして送信するには、ジョブを実行するexecを使用します。

于 2011-08-11T12:03:06.763 に答える
6

それがあなたの質問に対する直接的な答えですが、これを行う最善の方法はおそらく外部キーです:

q)types:([type_id:`apple`orange`cucumber]type_name:`fruit`fruit`vegetable)
q)food:([type_id:`types$`apple`orange`cucumber]price:3?2.)
q)meta food
c      | t f     a
-------| ---------
type_id| s types  
price  | f        
q)select from food where type_id.type_name=`fruit
type_id| price    
-------| ---------
apple  | 0.4593231
orange | 1.383906 
q)
于 2012-03-23T03:11:52.797 に答える