28 lines
846 B
SQL
28 lines
846 B
SQL
WITH RegionConnections AS (
|
|
SELECT
|
|
ss.regionId AS fromRegionId,
|
|
ss_to.regionId AS toRegionId
|
|
FROM StarGates sg
|
|
JOIN SolarSystems ss ON sg.fromSystemId = ss.solarSystemId
|
|
JOIN SolarSystems ss_to ON sg.toSystemId = ss_to.solarSystemId
|
|
WHERE ss.regionId != ss_to.regionId
|
|
),
|
|
ConnectedRegions AS (
|
|
SELECT
|
|
fromRegionId,
|
|
GROUP_CONCAT(DISTINCT r2.regionName) AS connectedRegions
|
|
FROM RegionConnections rc
|
|
JOIN Regions r2 ON rc.toRegionId = r2.regionId
|
|
GROUP BY fromRegionId
|
|
)
|
|
SELECT
|
|
re.regionName AS regionName,
|
|
rml.x,
|
|
rml.y,
|
|
AVG(ss.security) AS security,
|
|
COALESCE(cr.connectedRegions, '') AS connectsTo
|
|
FROM RegionMapLayout rml
|
|
JOIN Regions re ON rml.regionId = re.regionId
|
|
JOIN SolarSystems ss ON ss.regionId = re.regionId
|
|
LEFT JOIN ConnectedRegions cr ON re.regionId = cr.fromRegionId
|
|
GROUP BY re.regionId; |