【发布时间】:2020-01-26 04:04:02
【问题描述】:
假设我有如下两张表。
ALL_SPORTS
ID Name Age Sport Result Date Weather
----------------------------------------------------
1 Jake 12 Basketball Won 1/2/13 Sunny
2 Jill 13 Tennis Lost 2/3/13 Sunny
3 Sam 14 Basketball Won 4/5/14 Cloudy
4 Ann 15 Football Won 6/7/18 Cloudy
5 Will 18 Track Lost 11/12/13 Rainy
&
Sports_results
ID Sport Result Date
----------------------------
1 Bball W 1/2/13
2 Tn L 2/3/13
2 Fball L 1/2/14
3 Fball L 4/9/14
3 Fball W 4/9/14
4 Bball L 8/9/18
5 Tk L 11/12/13
8 pngpng W 9/4/15
ALL_SPORTS 有更多的列。 Sport_Results 更专业。他们都使用不同的方式来显示运动名称(Sports_results 使用缩写名称)和结果(输赢与 W 和 L)。
表之间有一些重叠,但每个表可能包含另一个表中未包含的内容,反之亦然。
我需要创建一个名为 ALL_RESULTS 的第三个表,它从 ALL_RESULTS 和 Sports_Results 中获取所有结果,检查重复的结果。它应该从表中获取以下值。
ALL_RESULTS(期望的结果)
ID Name Age Sport Result Date Weather
---------------------------------------------------
(From ALL_SPORTS)
1 Jake 12 Basketball Won 1/2/13 Sunny
2 Jill 13 Tennis Lost 2/3/13 Sunny
3 Sam 14 Basketball Won 4/5/14 Cloudy
4 Ann 15 Football Won 6/7/18 Cloudy
5 Will 18 Track Lost 11/12/13 Rainy
(From Sports_results)
ID Sport Result Date
-----------------------------
3 Fball L 4/9/14
3 Fball W 4/9/14
4 Bball L 8/9/18
8 pngpng W 9/4/15
目前我正在做一个联合,但由于两个表中包含的值的格式不同,并且ALL_SPORTS 包含更多列,联合无法找到重复项。
希望得到一些提示! TIA
【问题讨论】:
-
为什么不添加一些额外的标识列?同一天有多个运动结果怎么样?
标签: sql sql-server