我已执行查询以创建成对的事件组合,并将该对作为单行。请参阅下面的链接了解输出。第1列是第一个事件的ID,第2列是配对事件的ID。
我需要获取此输出,然后将其传输到只有一列的行。所以基本上,第1行和第2行是一对,第3行和第4行是一对,等等。下面第二个链接中所需输出的快照。
在SSMS工作。
谢谢!
答案 0 :(得分:0)
这是一个相当奇怪的结果,因为排序似乎相当随意。此外,您的原始数据没有稳定的订购。但我认为以下内容与您想要的非常接近:
select v.a
from t cross apply
(values (fid, 1), (sid, 2)) v(a, ord)
order by t.occurrencedate, t.fid, t.sid, v.a, v.ord
答案 1 :(得分:0)
您的原始订单似乎是(fid, sid)
。
CROSS APPLY
实际上为每个原始行生成两行。
因此,我们按(fid, sid)
保留原始订单,并确保列fid
的值排在第一位,而sid
的值排在第二位,添加SortOrder
列。
SELECT
CA.ID
FROM
YourTable
CROSS APPLY
(VALUES (fid, 1), (sid, 2)) CA(ID, SortOrder)
ORDER BY
YourTable.fid,
YourTable.sid,
CA.SortOrder;