2017-10-26 14 views

答えて

4

ジャストIDに取り組み、関数呼び出しの外でそのソースを残す:

select xxx(id) 
from mytable where ...; 

アップデートをdownvoterために:あなたは、引数としてサブクエリを渡すことはできませんアクションhere

+1

私はidで関数を呼びたいので、Selectでそれを得るのです。 – Fla

+1

うわー、それは実際にそれが動作する方法です、申し訳ありません。私は本当にセレクトを最初にやらなければならないと思った。ありがとうございました! – Fla

1

でそれを参照してください。一つの方法は、LATERAL JOINを使用することです:

SELECT xxx(s.id) 
FROM table t1 
LEFT JOIN LATERAL (select id from mytable where ... order by ... limit 1) s 
    ON true; 

あなたがメインテーブルとサブクエリの間に何らかの相関関係を行う必要がある場合、これは便利です。


一つの値のみの場合:

SELECT xxx(s.id) 
FROM (subquery) s; 

以下答えます。

+0

私はLATERALを知らなかった、それは面白いです。あなたはここに「テーブルt1」が何であるか、そしてなぜ「真実」が必要なのか教えてください。 – Fla

+0

@Fla私は、何らかの種類のコアリングされたサブクエリが必要だと考えました。 – lad2025

+0

さて、それをループすることができます。しかし、私のサブクエリは単純ですから、以下の答えがうまくいきます。私は本当にセレクトが最初にやらなければならないと思っていた。とにかくありがとうございました。 – Fla

関連する問題