2016-06-01 5 views
0

SQLでNESTEDクエリ/ SUBQUERYを実行しようとしています。 2番目のクエリ(またはサブクエリは別のテーブルからのものです)。私は以下のクエリを試しましたが、 '関係は存在しません'というエラーをスローするのに失敗します。クエリがそれ自体について説明しても、この問題にどのように対処すればよいでしょうか。代わりに '=' の '内の'SQLのSUBQUERY(別の表から)

SELECT 
     key 

    FROM 
     user_details 

    WHERE 
     user_id = (SELECT * FROM company_details WHERE type ='ABC'); 
+0

をcompany_details彼らはお互いに関係していますか?あなたの質問を編集して、テーブルの定義とそのデータに基づいて予想される出力を追加してください。 _フォーマットされたテキスト_お願い、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557#285557) –

答えて

0

使用: -

Rel_user_idはuser_detailsとの関係であると `user_details`と` company_detailsを行う方法

SELECT 
     key 

    FROM 
     user_details 

    WHERE 
     user_id in (SELECT distinct Rel_user_id FROM company_details WHERE type ='ABC'); 
+0

'company_details'は 'user_details'とは別のテーブルです – Betafish

+2

本当ですか? 'user_id in(*)'? – sagi

+1

サブクエリの中の別のものは役に立たない –

0
SELECT 
    key 

FROM 
    user_details ud 

WHERE 
    exists (SELECT 1 FROM company_details cd 
    WHERE cd.type ='ABC' and cd.Rel_user_id = ud.user_id) 
0
SELECT DISTINCT 
     ud.key 

    FROM 
     user_details ud 
    JOIN company_details cd ON ud.user_id = cd.Rel_user_id 

    WHERE cd.type ='ABC'