2017-03-10 7 views
0

は、どのように私はこのようにPostgreSQLのクエリを行うことができます。上記の作品は、私はそれが最適ではないと思う。あなたの答えをありがとう。がSELECT入れ子に置き換える

答えて

1

あなたの特定のケースでは、これは動作するはずです:一般的に

SELECT p.event_id, p.user_id 
FROM public."point" p JOIN 
    public."user" u 
    ON p.user_id = u.id 
WHERE u.email = '[email protected]'; 

を、JOININを切り替えたとき、あなたは重複に注意する必要があります。だから、一般的な解決策は次のようになります。

SELECT p.event_id, p.user_id 
FROM public."point" p JOIN 
    (SELECT DISTINCT u.id 
     FROM public."user" u 
     WHERE u.email = '[email protected]' 
    ) u 
    ON p.user_id = u.id ; 

しかしidはおそらくすでにuserでユニークです。

+0

はいこれはティです。正常に動作します。 'user'の' id'はユニークです。私はクエリの最後の部分に 'WHERE'との' email'比較を追加しませんでした。 (... 'p.user_id = u.id WH.u.email = 'test @ gmail.com'')。どうもありがとうございました! – MattCodes

関連する問題