【发布时间】:2020-06-19 11:43:47
【问题描述】:
我有一张佩戴者表格和一张SKU表格。一个 Wearer 可以有多个 SKU,当它们匹配时,我想看到那个结果。传统上,我会显示这样的结果:
WEARER SKU
------------------
Wearer 1 SKU 38
Wearer 2 SKU 47
Wearer 2 SKU 75
Wearer 3 SKU 38
Wearer 7 SKU 47
Wearer 7 SKU 99
但是,请求此查询的人希望看到它是这样的:
WEARER SKU 1 SKU 2 SKU 3 ...
-------------------------------------------
Wearer 1 SKU 38
Wearer 2 SKU 47 SKU 75
Wearer 3 SKU 38
Wearer 7 SKU 47 SKU 99
因此,对于与佩戴者匹配的每个 SKU,为该 SKU 创建一个列。在 T-SQL (SQL Server) 中进行这种连接方式的正确方法是什么?
一些信息:
- 分配给佩戴者的 SKU 不会超过 10 个。
【问题讨论】:
-
你知道SKU的最大数量吗? SQL 查询的列数是固定的,如果不知道,则需要使用动态 SQL。
-
我从未见过超过 10 个。我将把这个添加到我的问题中。
-
您是否考虑过使用枢轴完成您的连接?你能显示你有加入的脚本吗?
-
您现在可能不需要这个,但我绝对建议您检查一下 - sqlrelease.com/dynamic-pivot-query-in-sql-server
标签: sql-server database tsql join