mysql显示子查询中的字段值

时间:2015-08-19 14:53:34

标签: mysql subquery field

我有以下查询可以正常运行:

select * from myTable a where a.company is null and exists (select b.company from myTable b where b.id = a.id and b.office_id = a.office_id and b.company is not null);

现在,我还想在 myTable a 字段旁边的子查询中显示字段值 b.company

我该如何完成这项工作?

谢谢你,以及最好的问候

1 个答案:

答案 0 :(得分:1)

如果您想要来自多个表的结果,您应该将表连接在一起。 由于您只需要存在于B中的A的记录,因此您需要使用外部JOIN返回A中的所有记录,并且仅返回在B中匹配的那些记录。但是,您希望从A中排除所有那些在B中找不到的记录。 / p>

SELECT *, b.company
FROM  myTable a 
LEFT JOIN myTable B 
  ON b.id = a.id 
 and b.office_id = a.office_id
 and b.company_ID is not null
WHERE a.company is null 
  and B.ID is not null and B.office_ID is not null --this handles the exists part.