我如何转置表的一部分,将列名保存为新的列值,并将这些列值合并为一个?
有没有办法不用硬编码就能做到这一点?
例如,我有这样的结构表:
我试过使用交叉表,但不知道如何提取列名。也试过迭代列名生成一组记录,但主要问题是源表是巨大的。
| 仓库|产品|有折扣|缺货|
| - ------|- ------|- ------|- ------|
| 约翰商店|椅子|假|真的|
| 某商店|桌|真的|假|
因此,我需要这样的结构输出:
| 仓库|产品|参数|现况|
| - ------|- ------|- ------|- ------|
| 约翰商店|椅子|有折扣|假|
| 约翰商店|椅子|缺货|真的|
| 某商店|桌|有折扣|真的|
| 某商店|桌|缺货|假|
1条答案
按热度按时间vhmi4jdf1#
除了动态SQL之外,你还需要知道列名并将它们“硬编码”到表中。除此之外,你只需要一个联合体:
也可以按
StoreHouse
和Product
订购。