我有4个表: Stores、Terminals、StoreTerminals和Address。实际上,每个Store都有多个Terminals,但只有一个地址,所以我尝试得到的结果基本上是每行显示一个Store,具有多个Terminals和单个地址。我连接这些表的尝试为同一个Store产生了多个行:(
我看到了另一个问题,其中组连接接近于我想要的结果,但这会将多个Terminals的结果留在同一列中,这是我不想要的。我需要每个终端都在自己的栏目里。
有谁知道如何做到这一点吗?
发布于 2013-12-30 05:26:17
您应该看看Sql server中的pivot功能。这应该允许您为一个终端生成一列。
http://blogs.msdn.com/b/spike/archive/2009/03/03/pivot-tables-in-sql-server-a-simple-sample.aspx
发布于 2013-12-30 05:26:28
在我看来,您需要将您的数据转换为轴。
商店Id、商店地址、终端id % 1、终端id % 2等
这里有一个指向pivot命令的链接。它将行转换为列。unpivot命令正好相反。
http://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx
https://stackoverflow.com/questions/20830199
复制相似问题