यह चाल चलनी चाहिए:
SELECT
Scenario_Name
, Version
, Measure
, Value
from
(
SELECT Scenario_Name, Measure, Version, SUM(Value) AS Value , 1 as ordering
FROM #TableName
GROUP BY Scenario_Name, Measure, version
UNION ALL
SELECT Scenario_Name, 'TotalPeople', Version, SUM(Value) , 2 as ordering
FROM #TableName
GROUP BY Scenario_Name, Version
) t
Order by Scenario_Name, ordering, Measure
संपादित करें:अपनी क्वेरी में जोड़ने के लिए, कुछ इस तरह का प्रयास करें (आपकी क्वेरी ऊपर जाती है जहां ... है):
...
UNION ALL
SELECT
( SELECT attributedata
FROM [' [email protected]+ '].table1
WHERE AttributeName = ''Scenario Name''
) AS Scenario_Name
, (
SELECT attributedata
FROM [' [email protected]+ '].table1
where AttributeName = ''Version''
) AS Version
, CAST(COUNT(*) AS float)/MAX(repnum) AS value
, 'TotalPeople' AS Measure
, GETDATE() AS DateRun
, (SELECT ' + CAST(@testid as CHAR) +') AS TestNum
FROM [' [email protected]+ '].table2
EDIT2:मुझे लगता है कि समाधान अनिवार्य रूप से वही है यदि आप एक ही चीज़ को पूरा करने का प्रयास कर रहे हैं:
select (cast(count(id) as float)) as Value, FinalDisposition as Measure
from TML_Casualties
where FinalDisposition = 'DOW' or FinalDisposition = 'KIA'
group by FinalDisposition
UNION ALL
select (cast(count(id) as float)) as Value, 'TotalDeaths' as Measure
from TML_Casualties
where FinalDisposition = 'DOW' or FinalDisposition = 'KIA'