本文介绍了如何转动/取消转换此表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一张表

I have a Table

SL, R_ID,  Name, AMT1, AMT2, AMT3, Pos
1     5     ggg   10     60   22   Left
2     5     hhh   44     88   47   Right





我希望输出像这样





I want Output Like this

LSL, LID,  LName, LAMT1, LAMT2, LAMT3, LPos   SL,   RID,  RName, RAMT1, RAMT2, RAMT3, RPos
1     5     ggg   10     60   22   Left  2     5     hhh   44     88   47   Right





我尝试了什么:





What I have tried:

SELECT SL, [LSL], [LSL_HEAD], [LAMT], [LCURR], [LPRE], [RSL], [RSL_HEAD], [RAMT], [RCURR], [RPRE]
FROM
	(select SL, R_ID, SL_HEAD, AMT, CURR, PRE, L_SLIDE from FinalAccountDetails f) as st
					
PIVOT
(
	max(R_ID)
FOR
[L_SLIDE]
	IN ([LSL], [LSL_HEAD], [LAMT], [LCURR], [LPRE], [RSL], [RSL_HEAD], [RAMT], [RCURR], [RPRE])
) AS pvt

推荐答案

select 
    lsl   = l.SL
  , lid   = l.R_ID
  , lname = l.SL_HEAD
  , lamt1 = l.AMT
  , lamt2 = l.CURR
  , lamt3 = l.PRE
  , lpos  = l.L_SLIDE
  , rsl   = r.SL
  , rid   = r.R_ID
  , rname = r.SL_HEAD
  , ramt1 = r.AMT
  , ramt2 = r.CURR
  , ramt3 = r.PRE
  , rpos  = r.L_SLIDE
from finalaccountdetails l
  inner join finalaccountdetails r
    on l.r_id = r.r_id
   and l.L_SLIDE = 'left'
   and r.L_SLIDE = 'right'


这篇关于如何转动/取消转换此表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 01:04