我有两个相同的表(一个是2000-2009的数据,另一个是2000-2013的数据),我将两个表比较左边的Join和新的ID列并获得多对多的映射。
表结构(两者)
ID Date Result1 Result3 Result3 Result10
预期结果是
ID new_Date Old_Date new_Result1 old_Result1 new_Result10 old_Result10
如何避免多对多关系?
ID new_Date Old_Date
-- ---------- ----------
15 2005-05-04 2005-05-04
15 2006-11-23 2005-05-04
15 2005-05-04 2006-11-23
15 2006-11-23 2006-11-23
预期
ID new_Date Old_Date
-- ---------- ----------
15 2005-05-04 2005-05-04
15 2006-11-23 2006-11-23
答案 0 :(得分:2)
你考虑过使用DISTINCT吗? 如:
SELECT DISTINCT id, name, lastName FROM Person
这将确保独特的结果。您也可以考虑对两个查询执行UNION,因为这也可以确保唯一性。 如:
SELECT DISTINCT id, name, lastName FROM Person
UNION
SELECT DISTINCT id, name, lastName FROM Person2
答案 1 :(得分:0)
这样的事情:
SELECT A.ID, A.Date as new_Date, B.Date as Old_Date, (...)
FROM SomeTable1 as A
JOIN SomeTable2 as B ON A.ID=B.ID