回答

收藏

取消数据方案解决方案?

技术问答 技术问答 175 人阅读 | 0 人回复 | 2023-09-12

所以我有这样一张表0 z% u4 I) a9 Z) Z: B( a+ H
表格1" h) n. F2 D) y1 ~
    Quote Ref | Product A |  Product B  | Product C | Product D----------- ----------- ------------- ----------- -----------          12                      |   222333  |  4748847478 |                                                                  |     0我需要Business Group用下表找出属于哪一个。
. e- e7 O1 V& f5 t' r+ P+ r7 K9 j我对等于零的产品字段不感兴趣,因为报价中没有这些产品,所以没有需要映射的业务组。对于此报价,产品A和B列具有非零值,可映射到业务组。( 关键 )3 @& Z' B5 D8 f" ~* ?6 n! l
表2% @( Q- w- c; P4 B2 T) Q4 i
Product Line |   Business Group Product A    |   Manfacturing Product B    | Tech Net所以,我来看看UNPIVOT表1中的数据。( x& C* Q$ e+ j8 l. K/ i6 d' E' H( s# m
SELECT [QUOTE Ref],[Product Line],[Value]FROM    (SELECT [QUOTE Ref],[Product A],[Product B],[Product C],[Product D]FROM [Table1]) pUNPIVOT   ([Value] FOR [Product Line]    IN ([Product A],[Product B],[Product C],[Product D] ))AS unpvt;表1的DATA现在像这样. g2 g. O  P- s
    Quote Ref | Product Line |   Value----------- -------------- ------------    12                                  |  Product A   |   222333    12                                  |  Product B   | 4748847478    12                                  |  Product C   |     0     12                                  |  Product D   |     0问题是4万行现在变成470万行。
7 J3 J5 Z0 K- c  ^3 Q$ o现在,我知道我不需要透视表中的行,产品线的值等于零。unpivot查询中删除这些条目,或者甚至在启动UNPIVOT基表以前能做什么?我的数据库足够大,无法处理数据库中约20个类似的表和600万行。9 ?# O0 ~; I% Z2 M. J6 k) H) C7 ^
                                                               
6 ^5 y  V. `8 \& L    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则