如何组合/合并两个SQL查询结果中的列?

Kev*_*Kev 7 sql t-sql sql-server sql-server-2005

我在一个名为的表中有一组数据BWHourlyReadings,例如:

ServiceID      Hour   InputOctets    OutputOctets
=========      ====   ===========    =================
27222          1      383088         804249
27222          2      270529         688683
27222          3      247251         290124
... up to 24 hours of data
27222          24     236053         239165

28900          1      883011         914249
28900          3      444251         891124
... up to 24 hours of data
28900          24     123053         452165
Run Code Online (Sandbox Code Playgroud)

每天最多24个读数ServiceID.

我有两个单独的 PIVOT查询,一个用于InputOctets列,一个用于OutputOctets列(为简洁起见,此处仅显示一个):

-- Replace HourXIn with HourXOut for OutputOctets
SELECT ServiceID, [1] AS 'Hour1In', [2] AS 'Hour2In', [3] AS 'Hour3In', ...
FROM
(
    SELECT 
        ServiceID,
        Hour, 
        TotalInputOctets -- Other query has OutputOctets here instead
    FROM
        BWHourlyReadings

) AS bw
PIVOT 
( 
    MAX(TotalInputOctets)  -- Other query has OutputOctets here instead
    FOR [Hour] IN ([1], [2], [3], ... [24])
) AS pvt
Run Code Online (Sandbox Code Playgroud)

这给了我InputOctets和我OutputOctets的两个单独的结果集,例如:

PIVOT对查询结果InputOctets:

ServiceID Hour1In Hour2In Hour3In . Hour24In     
========= ======= ======= =======   ========    
27222     383088  270529  247251    236053   
28900     883011  0       444251    123053   
Run Code Online (Sandbox Code Playgroud)

PIVOT对查询结果OutputOctets:

ServiceID Hour1Out Hour2Out Hour3Out .. Hour24Out    
========= ======== ======== ========    ========   
27222     804249   688683   290124      239165  
28900     914249   0        891124      452165
Run Code Online (Sandbox Code Playgroud)

我需要制作一份这样的报告:

ServiceID Hour1In Hour1Out Hour2In Hour2Out Hour3In Hour3Out .. Hour24In Hour24Out    
========= ======= ======== ======= ======== ======= ========    =======  ========   
27222     383088  804249   270529  688683   247251  290124      236053   239165  
28900     883011  914249   0       0        444251  891124      123053   452165
Run Code Online (Sandbox Code Playgroud)

如何合并两个查询结果以生成上述报告?

更新:

我已经以所需的报告格式更新了数据,以匹配源表示例中的数据.我为这种困惑道歉.

Mla*_*dic 2

使用 union 或 union all 合并 2 个结果。