WITH 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,
  re.regionName as regionName,
  COALESCE(cs.connectedSystems, '') AS connectedSystems
FROM MapLayout ml
JOIN SolarSystems ss ON ss.solarSystemId = ml.solarSystemId
JOIN MapLayouts mls ON ml.layoutId = mls.layoutId
JOIN Regions re ON re.regionId = mls.regionId
LEFT JOIN ConnectedSystems cs ON ss.solarSystemId = cs.fromSystemId;