繁体   English   中英

内部联接并选择该表上的其他列

[英]Inner Join and select other columns on that table

这是我查询的一部分,在此查询之前有一个并集。 我想在某种情况下在table1中选择更多列。

SELECT  c.ID, c.Name, c.Position, c.Email, c.ContactNumber
FROM table1 c
INNER JOIN table2 a
ON c.ID = (SELECT foreignID FROM table2 WHERE a.Name = 'someName')
WHERE Dept = 'Something' --this will return nothing since in the inner join
                         --the condition returns a single column and it doesn't
                         --satisfy the WHERE Clause

我想选择满足ID(工作),包括东西部门的人的人。 还有另一种方法可以解决这个问题,或者我真的需要为此使用UNION。 这会影响应用程序(尤其是移动应用程序)的性能吗?

如果我正确理解了您的要求,请使用LEFT JOIN

SELECT  c.ID, c.Name, c.Position, c.Email, c.ContactNumber
FROM table1 c
LEFT JOIN table2 a ON c.ID = a.foreignID AND  a.Name = 'someName'
WHERE Dept = 'Something'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM