SQL 连接两个没有唯一键的表
SQL join two tables without unique key
这是在 SQL Server 2005 上完成的。
我有 2 个没有唯一属性的单独表。
Table A列:NAME|FROM|EMAIL
Table 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
这里的连接类型是错误的吗?
你想要union all
:
select name, [from], email
from a
union all
select name, [from], email
from b
where [from] = '123';
您还应该将 SQL 服务器升级到受支持的版本。 SQL 服务器 2008 将在几个月后失去支持。
这是在 SQL Server 2005 上完成的。
我有 2 个没有唯一属性的单独表。
Table A列:NAME|FROM|EMAIL
Table 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
这里的连接类型是错误的吗?
你想要union all
:
select name, [from], email
from a
union all
select name, [from], email
from b
where [from] = '123';
您还应该将 SQL 服务器升级到受支持的版本。 SQL 服务器 2008 将在几个月后失去支持。