【发布时间】:2020-08-07 09:11:05
【问题描述】:
我有 2 个表,但无法加入它以提供所需的输出。
第一个表称为 Future。这是我未来的会议。
Date Name Subject Importance Location
7/08/2020 David Work 1 London
7/08/2020 George Updates 2 New York
7/08/2020 Frank New Appointments 5 London
7/08/2020 Steph Policy 1 Paris
第二个表称为Previous。这是我以前的会议。
Date Name Subject Importance Location Time Rating
1/08/2020 David Work 3 London 23.50 4
2/10/2018 David Emails 3 New York 18.20 3
1/08/2019 George New Appointments5 London 55.10 2
3/04/2020 Steph Dismissal 1 Paris 33.20 5
现在我需要按名称引用我之前的表格,以查看我之前与此人进行的会议,并且我想要之前表格中的所有数据。我还需要将其限制为仅显示与每个人最多 5 次以前的会议。
Date Name Subject Importance Location Time Rating
7/08/2020 David Work 1 London - -
1/08/2020 David Work 3 London 23.50 4
2/10/2018 David Emails 3 New York 18.20 3
7/08/2020 George Updates 2 New York - -
1/08/2019 George New Appointments5 London 55.10 2
名称列需要左连接,但我只需要对其他列进行常规连接。也不确定如何将名称结果限制为最多 5 个相同的值。提前感谢您的帮助。
【问题讨论】:
-
我建议把两张表合并成一张表,这样你的生活会轻松很多。
-
感谢您对@TimBiegeleisen 的评论。这种方式可能需要一些工作,但从长远来看可能会更容易。很容易在日期上使用 where 子句来获得未来的会议,但是我将如何引用该表来获得与每个客户的前 4 次会议?
-
根据您的 SQL 版本,您可以使用
LAG函数。单个表所需的功能可能已经内置到您的 SQL 版本中。 -
同意蒂姆的观点,您可以使用另一列来识别已经发生的会议,或者您可以随身携带这些知识,知道空时间和评级意味着它还没有发生。对于从未见过桌子的人来说,很容易推断出这一点。但是返回一个有限的组仍然很棘手。你必须用组创建一些。
-
@undecided000 。 . .斯蒂芬和弗兰克怎么了?