0

我有两个相同的表(一个包含 2000-2009 年的数据,另一个包含 2000-2013 年的数据),我正在比较两个表的左连接旧与新的 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
4

2 回答 2

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
于 2013-08-14T08:23:46.837 回答
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
于 2013-08-14T08:27:15.940 回答