【发布时间】:2021-11-04 03:25:42
【问题描述】:
这让我有点难过,我有一张这样的桌子
| Id | Address | Address 1 | Postcode |
|---|---|---|---|
| 1 | 1 straight street | 4 corners | BL51 ANK |
| 1 | 46 Double Close | Some Place | ZE12 7TB |
| 2 | 7 The Fields | Farmland | FA7 5ME |
我需要创建一个会产生这个结果的视图:
| Id | Address | Address 1 | Postcode | Address | Address 1 | Postcode |
|---|---|---|---|---|---|---|
| 1 | 1 straight street | 4 corners | BL51 ANK | 46 Double Close | Some Place | ZE12 7TB |
| 2 | 7 The Fields | Farmland | FA7 5ME |
因此,基本上基于 ID 可以有 4 到 50 行,我需要将其作为单行返回,其中包含包含不同数据的多列。我不想进行 50 次连接,因为我确信有更聪明的方法可以做到这一点。
非常感谢任何帮助。
【问题讨论】:
-
你的数据库是什么?
-
每个
Id是否总是最多有2条记录?确定哪个地址在左边的逻辑是什么? -
SQL Server 2016。ID 最多可以有 50 条记录,并且是公司的唯一标识符,该公司最多可以有 50 个地址。我们需要将其输入到一些 OCR 软件中,他们需要将其操作到具有多列的 1 行中。
-
根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
-
抱歉,我尝试加入 x 50 次,但确实重复,希望有更好的方法。我尝试查看聚合,但它与连接之间并没有太大区别。所以寻找一些关于如何做到这一点的指示。搜索这个网站我可以看到一些例子,但没有与这个用例相关的 1 个表。
标签: sql sql-server sql-server-2016 sql-view