Ich versuche, einen prozentualen Anteil an Spielsitzungen pro Konsolenplattform zu berechnen. Ich berechne die Verwendung basierend auf Daten aus zwei verschiedenen Sessions-Tabellen (eine, die nur eine Zusammenfassung hat und eine, die ich pro Konsole zusammenfasse). Das funktioniert, und ich kann die Summe nr oder Sitzungen in SessionTotal in T3 zusammenfassen. So funktioniert dieser Code fast, scheint nur nicht die äußere SELECT zu validieren. Könnte mir jemand helfen?SQL-Abfrage zum Berechnen von Prozentsätzen basierend auf Summen aus mehreren Tabellen
SELECT T3.Sessions, T3.Console, T3.Sessions * 100/T2.SessionTotal AS Percentage
FROM
(
-- This call returns a total nr of sessions played
SELECT SUM(Sessions) as SessionTotal
FROM
(SELECT Sessions, Console, SystemID
FROM (SELECT TOP (100) PERCENT ISNULL(MIN(ps.SessionCount), 0) + ISNULL(COUNT(s.system_id), 0) AS Sessions, MIN(c.name) AS Console, MIN(c.id) AS SystemID
FROM dbo.[Systems] AS c LEFT OUTER JOIN
dbo.Sessions AS s ON c.id = s.system_id LEFT OUTER JOIN
dbo.PreviousSessions AS ps ON c.id = ps.SystemID
GROUP BY c.id) AS T1) as T2,
-- This call returns nr of sessions per system
SELECT Sessions, Console, SystemID
FROM (SELECT TOP (100) PERCENT ISNULL(MIN(ps.SessionCount), 0) + ISNULL(COUNT(s.system_id), 0) AS Sessions, MIN(c.name) AS Console, MIN(c.id) AS SystemID
FROM dbo.[Systems] AS c LEFT OUTER JOIN
dbo.Sessions AS s ON c.id = s.system_id LEFT OUTER JOIN
dbo.PreviousSessions AS ps ON c.id = ps.SystemID
GROUP BY c.id) AS T3
)
die RDBMS verwenden Sie? SQL-Server, MySql, PostGres, sql lite? – SqlZim