Dipak Mondal Ответов: 1

Как повернуть/открутить эту таблицу?


У меня есть столик
SL, R_ID,  Name, AMT1, AMT2, AMT3, Pos
1     5     ggg   10     60   22   Left
2     5     hhh   44     88   47   Right


Я хочу получить такой результат

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


Что я уже пробовал:

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

OriginalGriff

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы. И мы понятия не имеем, почему данные "объединяются" таким образом - что происходит, если в вашей таблице больше двух строк? Как их объединить и на каких полях?
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

1 Ответов

Рейтинг:
7

babaiZhere

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'