SQLite
 sql >> база данни >  >> RDS >> SQLite

GROUP_CONCAT в SQLite

Трябва да добавите GROUP BY клауза, когато използвате агрегатна функция. Също така използвайте JOIN за присъединяване на таблици.

Така че опитайте това:

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;

Вижте този примерен SQLFiddle

Това, което опитахте, беше почти правилно. Просто трябваше да добавите GROUP BY клауза в края. Но първият е по-добър.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се копира предварително създаден db от активи

  2. Няма достъп до предварително попълнена база данни на SQLite с помощта на PhoneGap/Cordova в Android

  3. SQLite JSON_EACH()

  4. Как работи SQLite Random().

  5. Как да направите оператора LIKE на SQLite чувствителен към малките букви