SQLITE упорядочение group_concat с левым соединением

У меня есть следующий запрос

        let Query = "SELECT LEVELS1.ID, LEVELS1.NAME, GROUP_CONCAT(FRAMEWORKLEVELS1.NAME,'&/?') AS DATA FROM LEVELS1 LEFT JOIN FRAMEWORKLEVELS1 ON LEVELS1.ID = FRAMEWORKLEVELS1.LEVELID WHERE FRAMEWORKID = :ID GROUP BY FRAMEWORKID"

который производит следующее

DATA = "Level1&/?Level4&/?Level2&/?Level3";
ID = 1;
NAME = "Title";

Что я хочу сделать, это заказать GROUP_CONCAT, но как мне сделать это в SQLITE?

Я нашел следующую ссылку

Sqlite group_concat заказ

но я не могу понять, как получить левое соединение там

Спасибо

1 ответ

Решение

Просто получите все необходимые данные, отсортируйте их, а затем агрегируйте:

SELECT ID,
       Name,
       group_concat(LevelName, '&/?') AS Data
FROM (SELECT Levels1.ID AS ID,
             Levels1.Name AS Name,
             FrameworkLevels1.Name AS LevelName
      FROM Levels1
      LEFT JOIN FrameworkLevels1 ON Levels1.ID = FrameworkLevels1.LevelID
      WHERE FrameworkID = :ID
      ORDER BY ...);
Другие вопросы по тегам