我正在尝试在SQL Server中创建一个包含一组表中所有帐号的本地临时表。在select语句中我正在使用DISTINCT
。 Table_1
有~130k
行,Table_2
有~50k
行。
但是UNION返回的行少于~130k
行。我知道UNION
会返回不同的值,但我在select语句中使用了DISTINCT
,所以我不明白这种差异。
SELECT X.acct_num
INTO #cat
FROM (
SELECT DISTINCT CAST(t1.Account_Number AS NVARCHAR(15)) AS acct_num
FROM table_1 t1
UNION
SELECT DISTINCT CAST(t2.AcctNo AS NVARCHAR(15)) AS acct_num
FROM table_2 t2
) X;
这会返回~100k行。