首页 > 解决方案 > SQL连接两个没有唯一键的表

问题描述

这是在 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这里的连接类型错误吗?

标签: sqlsql-server-2005

解决方案


你想要union all

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

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


推荐阅读