SQL连接两个没有唯一键的表

时间:2019-01-31 13:20:20

标签: sql sql-server-2005

这是在SQL Server 2005上完成的。

我有2个没有唯一属性的单独表。

表A列:NAME|FROM|EMAIL

表B列:NAME|FROM|EMAIL

我正试图从A获得所有结果 +从B获得所有结果,其中FROM等于'123'。

SELECT
x.FROM as 'FROM',
x.Email as 'Email',
x.Name as 'Name'
FROM TableA x
INNER JOIN TableB y 
ON x.FROM = y.FROM
WHERE x.FROM = '123'

当前的SQL脚本会产生错误的结果,TableB不会提供任何结果,而TableA只能以重复的方式提供1个结果。

这里的Inner Join连接类型错误吗?

1 个答案:

答案 0 :(得分:1)

您要union all

select name, [from], email
from a
union all
select name, [from], email
from b
where [from] = '123';

还应该将SQL Server升级到受支持的版本。 SQL Server 2008 在几个月后将失去支持。