[英]Value of where clause in sql query is the parent column of select
我有如下查询。 如图所示,它具有一个子查询。 我想要的是使where
子句的值应基于s1.id
目前我将其设置为静态2
因为我where s2.id = s1.id
尝试过where s2.id = s1.id
但它不起作用:
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
有办法实现吗?
我相信这可以通过简单的连接来完成:
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.