[英]SQL join two tables without unique key
這是在 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,只有 1 個來自 TableA 的結果以重復的方式。
這里的Inner Join
錯誤的連接類型嗎?
你想要union all
:
select name, [from], email
from a
union all
select name, [from], email
from b
where [from] = '123';
您還應該將 SQL Server 升級到受支持的版本。 SQL Server 2008將在幾個月內失去支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.