2016-12-16 15 views
0

私は以下のようなクエリを持っています。示されているように、サブクエリがあります。私が欲しいのは、where節の値をs1.idの基礎にすることです。現在、私はwhere s2.id = s1.idを試してみたので、私はそれ静的2を作り、それが動作していない:それを達成する方法はsqlクエリのwhere句の値がselectの親カラムです

SELECT 
s1.id, 
s1.code, 
(SELECT 
     c.company_name 
    FROM 
     company c 
      INNER JOIN 
     (SELECT 
      a.company_id 
     FROM 
      agent a 
     INNER JOIN shop s2 ON a.id = s2.agent_id 
     WHERE 
      s2.id = 2) AS agent_shop ON agent_shop.company_id = c.id) AS agent_company_name 
FROM 
    shop s1 

ありますか?私はシンプルではなく、参加すると、これが行うことができると信じてい

答えて

0

select 
shop.id, 
shop.code, 
company.company_name as agent_company_name 
from 
shop 
left join agent on shop.agent_id=agent.id 
left join company on agent.company_id=company.id 
where 
shop.id=2; 
関連する問題