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; |