-----------------------------
-- The following returns what you asked for (but may not be what you want):
-----------------------------
SELECT Cust_No_A
,Cust_Name_A
,Cust_Address_A
,Cust_City_A
,Cust_State_A
,Cust_Zip_A
,NULL AS Cust_No_B
,NULL AS Cust_Name_B
,NULL AS Cust_Address_B
,NULL AS Cust_City_B
,NULL AS Cust_State_B
,NULL AS Cust_Zip_B
FROM ProductA_Customer
UNION ALL
SELECT Cust_No_A
,Cust_Name_A
,Cust_Address_A
,Cust_City_A
,Cust_State_A
,Cust_Zip_A
,Cust_No_B
,Cust_Name_B
,Cust_Address_B
,Cust_City_B
,Cust_State_B
,Cust_Zip_B
FROM ProductB_Customer
LEFT JOIN ProductA_Customer
ON Cust_No_B = Cust_No_A
WHERE Cust_No_A IS NULL
-----------------------------
--The following would be a more typical recordset to return:
-----------------------------
WITH Cust_Unique(Cust_No, Cust_Name, Cust_Address, Cust_City, Cust_State, Cust_Zip, Table_Source)
AS (
SELECT Cust_No_A
,Cust_Name_A
,Cust_Address_A
,Cust_City_A
,Cust_State_A
,Cust_Zip_A
,'A'
FROM ProductA_Customer
UNION ALL
SELECT Cust_No_B
,Cust_Name_B
,Cust_Address_B
,Cust_City_B
,Cust_State_B
,Cust_Zip_B
,'B'
FROM ProductB_Customer
LEFT JOIN ProductA_Customer
ON Cust_No_B = Cust_No_A
WHERE Cust_No_A IS NULL
)
SELECT *
FROM Cust_Unique
ORDER BY Cust_No