Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如屏幕截图所示取消Pivot表_Sql Server_Sql Server 2014 - Fatal编程技术网

Sql server 如屏幕截图所示取消Pivot表

Sql server 如屏幕截图所示取消Pivot表,sql-server,sql-server-2014,Sql Server,Sql Server 2014,我有这张透视表 Particular_LL Dr_LL Cr_LL Particular_CLL Dr_CLL Cr_CLL ------------------------------------------------------------------------------ Loan 3000000.00 3000000.00 Bank A/C OverDraft 100000.00 100000.00 我尝试通过此查询取

我有这张透视表

Particular_LL   Dr_LL    Cr_LL      Particular_CLL      Dr_CLL      Cr_CLL
------------------------------------------------------------------------------
Loan         3000000.00 3000000.00  Bank A/C OverDraft  100000.00   100000.00
我尝试通过此查询取消激活表,但没有得到正确的输出:

SELECT 
    particular,
    debit,
    credit
FROM
    dbo.Test1 
UNPIVOT
    (particular
     FOR col1 IN ([Particular_LL], [Particular_CLL])) u 
UNPIVOT 
    (debit
     FOR col2 IN (Dr_LL, Dr_CLL)) u 
UNPIVOT 
    (credit
     FOR col3 IN (Cr_LL, Cr_CLL)) u
WHERE 
    right(col1, 2) = right(col2, 2)
    AND right(col1, 2) = right(col3, 2)
我得到这个结果:

particular            debit          credit
----------------------------------------------
Loan                  3000000.00    3000000.00
Loan                  3000000.00     100000.00
Loan                   100000.00    3000000.00
Loan                   100000.00     100000.00
Bank A/C OverDraft    3000000.00    3000000.00
Bank A/C OverDraft    3000000.00     100000.00
Bank A/C OverDraft     100000.00    3000000.00
Bank A/C OverDraft     100000.00     100000.00
我需要这个输出

particular          debit       credit
-------------------------------------------
Loan               3000000.00   3000000.00
Bank A/C OverDraft  100000.00    100000.00
试试这个

select Particular_LL as particular, Dr_LL as debit, Cr_LL as credit from test1
union all
select Particular_CLL, Dr_CLL, Cr_CLL from test1
你可以用这个

SELECT 
    particular,
    debit,
    credit  
FROM
    dbo.Test1 
UNPIVOT
    (particular
     FOR col1 IN ([Particular_LL], [Particular_CLL])) u 
UNPIVOT 
    (debit
     FOR col2 IN (Dr_LL, Dr_CLL)) u 
UNPIVOT 
    (credit
     FOR col3 IN (Cr_LL, Cr_CLL)) u
WHERE 
    REPLACE(col1, 'Particular_',  '') = REPLACE(col2, 'Dr_',  '')
    AND REPLACE(col1, 'Particular_',  '') = REPLACE(col3, 'Cr_',  '')