我真的在努力与这个支点,并希望伸出援助和启蒙可能会有所帮助。
说我有下表.... 表A
type actId date rowSort order value value_char colName
------------------------------------------------------------------------------------
checking 1003 2011-12-31 2 1 44 44 Amount
checking 1003 2011-12-31 2 2 55 55 Interest
checking 1003 2011-12-31 2 3 66 66 Change
checking 1003 2011-12-31 2 4 77 77 Target
checking 1003 2011-12-31 2 5 88 88 Spread
savings 23456 2011-12-31 1 1 999 999 Amount
savings 23456 2011-12-31 1 2 888 888 Interest
savings 23456 2011-12-31 1 3 777 777 Change
savings 23456 2011-12-31 1 4 666 666 Target
savings 23456 2011-12-31 1 5 555 555 Spread
我想转换到表b
checking chkId date rowSort order chkvalue chkValchar colName savings savId savVal savValChar
-------------------------------------------------------------------------------------------------------------------
checking 1003 2011-12-31 2 1 44 44 Amount savings 23456 999 999
checking 1003 2011-12-31 2 2 55 55 Interest savings 23456 888 888
checking 1003 2011-12-31 2 3 66 66 Change savings 23456 777 777
checking 1003 2011-12-31 2 4 77 77 Target savings 23456 666 666
checking 1003 2011-12-31 2 5 88 88 Spread savings 23456 555 555
我可以承认,目前这超出了我的技能 我相信我需要在这个表上使用rowSort(识别储蓄与检查)以及使用订单列进行排序。这可能是错的,这就是我在这里的原因。
枢轴是正确的方法吗?我是否正确地认为我的支点是使用聚合最大值(rowSort)?
答案 0 :(得分:0)
假设来自rowSort
的{{1}} `checking equal to rowSort+1
以及savings
之间的行链接,我们应该这样做:
field value
答案 1 :(得分:0)
根据您提出的要求,您不会使用PIVOT
进行此查询,您需要JOIN
您自己的表格。下面的查询应该为您提供所需的记录,而无需使用DISTINCT
select c.type as checking
, c.actId as chkid
, c.date
, c.rowsort
, c.[order]
, c.value as chkvalue
, c.value_char as chkValchar
, c.colName
, s.type as savings
, s.actId as savId
, s.value as savVal
, s.value_char as savValchar
from t1 c
inner join t1 s
on c.rowsort = s.rowsort + 1
and c.[order] = s.[order]