J'ai un ensemble de données dans une table nommée BWHourlyReadings
, par exemple:Comment combiner/fusionner des colonnes à partir de deux résultats de requête 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
Pour chaque jour, il y a jusqu'à 24 lectures par ServiceID
.
J'ai aussi loin que deux séparésPIVOT
requêtes, une pour la colonne InputOctets
et une pour la colonne OutputOctets
(une seule est représentée ici par souci de concision):
-- 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
Cela me donne mon InputOctets
et OutputOctets
en deux ensembles de résultats séparés, par exemple:
Le résultat de la requête sur PIVOT
InputOctets
:
ServiceID Hour1In Hour2In Hour3In . Hour24In
========= ======= ======= ======= ========
27222 383088 270529 247251 236053
28900 883011 0 444251 123053
Le résultat de la requête PIVOT
sur OutputOctets
:
ServiceID Hour1Out Hour2Out Hour3Out .. Hour24Out
========= ======== ======== ======== ========
27222 804249 688683 290124 239165
28900 914249 0 891124 452165
Je dois produire un rapport comme celui-ci:
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
Comment puis-je fusionner les deux résultats de la requête pour produire le rapport ci-dessus?
Mise à jour:
J'ai mis à jour les données dans le format de rapport souhaité pour faire correspondre les données dans l'exemple de la table source. Mes excuses pour la confusion.
Cela va me donner un résultat combiné, l'un après l'autre . Je dois fusionner deux ensembles de colonnes à travers le résultat. – Kev