sql >> Database >  >> RDS >> SQLite

GROUP_CONCAT in SQLite

U moet GROUP BY . toevoegen clausule wanneer u de aggregatiefunctie gebruikt. Gebruik ook JOIN om aan tafels deel te nemen.

Dus probeer dit:

SELECT AI._id, GROUP_CONCAT(Name) AS GroupedName
  FROM ABSTRACTS_ITEM AI 
  JOIN AUTHORS_ABSTRACT AAB ON AI.ID = AAB.ABSTRACTSITEM_ID
  JOIN ABSTRACT_AUTHOR AAU ON AAU._id = AAB.ABSTRACTAUTHOR_ID
 GROUP BY tbl._id;

Bekijk dit voorbeeld SQLFiddle

Wat je probeerde was bijna correct. U hoeft alleen GROUP BY . toe te voegen clausule aan het einde. Maar de eerste is beter.

SELECT ID,
GROUP_CONCAT(NAME) 
FROM
    (select ABSTRACTS_ITEM._id AS ID,
     Name
     from
    ABSTRACTS_ITEM , ABSTRACT_AUTHOR , AUTHORS_ABSTRACT
    where
    ABSTRACTS_ITEM._id = AUTHORS_ABSTRACT.ABSTRACTSITEM_ID
    and
    ABSTRACT_AUTHOR._id = AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID)
GROUP BY ID;



  1. Migratie van Oracle Database naar MariaDB - een diepe duik

  2. De tweede rij van een tabel selecteren met rownum

  3. Test voor null in functie met verschillende parameters

  4. 4 functies om een ​​getal op te maken tot 2 decimalen in SQL Server