Tôi có một tập hợp các dữ liệu trong một bảng tên BWHourlyReadings
, ví dụ:Làm cách nào để kết hợp/hợp nhất các cột từ hai kết quả truy vấn SQL?
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
Đối với mỗi ngày có đến 24 bài đọc mỗi ServiceID
.
Tôi đã có như xa như hai riêng biệtPIVOT
truy vấn, một cho cột InputOctets
và một cho cột OutputOctets
(chỉ có một trình bày ở đây cho ngắn gọn):
-- 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
này mang lại cho tôi InputOctets
của tôi và OutputOctets
trong hai bộ kết quả riêng biệt, ví dụ:
kết quả PIVOT
truy vấn trên InputOctets
:
ServiceID Hour1In Hour2In Hour3In . Hour24In
========= ======= ======= ======= ========
27222 383088 270529 247251 236053
28900 883011 0 444251 123053
Kết quả PIVOT
truy vấn trên OutputOctets
:
ServiceID Hour1Out Hour2Out Hour3Out .. Hour24Out
========= ======== ======== ======== ========
27222 804249 688683 290124 239165
28900 914249 0 891124 452165
tôi cần phải tạo ra một báo cáo như thế này:
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
Làm thế nào để hợp nhất hai kết quả truy vấn để tạo báo cáo ở trên?
Cập nhật:
Tôi đã cập nhật dữ liệu theo định dạng báo cáo mong muốn để phù hợp với dữ liệu trong ví dụ bảng nguồn. Tôi xin lỗi về sự hiểu lầm.
Đó sẽ chỉ cho tôi một kết quả kết hợp, một sau khi khác . Tôi cần hợp nhất hai tập hợp cột lại với nhau trên kết quả. – Kev