Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Опитвате се да получите сумата от отделни стойности за отделни файлове за различни версии на софтуера

Това трябва да свърши работа:

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'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Времето за изчакване на SQL заявката се изпълнява от C#, бързо в SQL Server Management Studio

  2. Каква е причината контекстът на транзакция да се използва от друга сесия

  3. Предимства при използването на курсорна променлива в SQL Server (декларирайте @cn курсор)

  4. Как да изберете само първите редове за всяка уникална стойност на колона?

  5. Възможно ли е достъп до .mdf база данни без SQL Server?