Files
eve-signaler/frontend/ingest/solarSystems.sql
2025-06-23 17:24:12 +02:00

39 lines
1.1 KiB
SQL

WITH CanonicalLayouts AS (
SELECT regionId, MIN(layoutId) AS layoutId
FROM MapLayouts
GROUP BY regionId
),
RegionLayouts AS (
SELECT
re.regionId,
re.regionName,
cl.layoutId
FROM Regions re
JOIN CanonicalLayouts cl ON re.regionId = cl.regionId
),
SystemConnections AS (
SELECT
ss_from.solarSystemId AS fromSystemId,
ss_to.solarSystemName AS toSystemName
FROM StarGates sg
JOIN SolarSystems ss_from ON sg.fromSystemId = ss_from.solarSystemId
JOIN SolarSystems ss_to ON sg.toSystemId = ss_to.solarSystemId
),
ConnectedSystems AS (
SELECT
fromSystemId,
GROUP_CONCAT(DISTINCT toSystemName) AS connectedSystems
FROM SystemConnections
GROUP BY fromSystemId
)
SELECT
ss.solarSystemName AS solarSystemName,
ml.x,
ml.y,
rl.regionName AS regionName,
ss.security AS security,
COALESCE(cs.connectedSystems, '') AS connectedSystems
FROM RegionLayouts rl
JOIN MapLayout ml ON ml.layoutId = rl.layoutId
JOIN SolarSystems ss ON ss.solarSystemId = ml.solarSystemId
LEFT JOIN ConnectedSystems cs ON ss.solarSystemId = cs.fromSystemId