【发布时间】:2014-12-25 23:05:31
【问题描述】:
我有一个我想象的基本 SQL 问题,希望能得到一些帮助。我正在使用 MSSQL。
我有两张桌子:
表 A 表 B ---------------------------------------------- A.ID |A.日期| B.ID|B.Date|B.NumberA.ID 是唯一的;没有重复的行。 B.ID 不是唯一的,因此加入该列上的表可能会导致返回多行。要获取正确的记录,有必要加入两个列,但这也存在不希望的结果的问题。例如:
表 A |表 B ---------------------------------------------- 1 |01-01-2014 | 1 |01-01-2014|25 2 |01-30-2014 | 1 |04-30-2013|40 3 |03-24-2014 | 1 |10-12-2018|12 4 |05-28-2014 | 2 |11-17-2013|55期望的结果是连接两列并返回单行。我遇到的问题是,如果我使用示例数据加入相等的两列,则只有第一行会返回。如果我将 ID 列设置为相等并使用
希望这是有道理的。提前致谢。
【问题讨论】:
-
那么,结果如何?你得到了适合你的答案吗?
-
我为这方面的大量延误道歉......它暂时搁置了一段时间。我最终使用带有 ROW OVER 的相关子查询来对结果进行分区,并且只获取所需的结果。
标签: sql sql-server join