[SQL] SQLite는의 GROUP_CONCAT
SQLSQLite는의 GROUP_CONCAT
이 같은 데이터를 데
1 A
1 B
1 C
1 D
2 E
2 F
3 G
3 H
3 I
3 J
3 K
이 쿼리를 사용하여
select ABSTRACTS_ITEM._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
지금, 나는이 같은 데이터를 표시 할
1 A,B,C,D
2 EF
on..I도 알 수 있도록 그것은 GROUP_CONCAT 함수에 의해 달성 할 수있다. 그래서, 나는이 함께 노력
SELECT ABSTRACTS_ITEM._id,
GROUP_CONCAT(ABSTRACT_AUTHOR.NAME) FROM
(select ABSTRACTS_ITEM._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)
그러나, 그것은 나를 오류가 표시됩니다. 그래서, 내가 여기 잘못 뭐하는 거지. 그것을 달성 할 수있는 권리 절차는 무엇입니까?
해결법
-
==============================
1.당신은 당신이 집계 함수를 사용하는 경우 GROUP BY 절을 추가해야합니다. 또한 사용하는 테이블을 조인 가입하세요.
당신은 당신이 집계 함수를 사용하는 경우 GROUP BY 절을 추가해야합니다. 또한 사용하는 테이블을 조인 가입하세요.
그래서이 시도 :
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;
당신이하려고했던 어떤 거의 정확했다. 당신은 마지막에 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;
from https://stackoverflow.com/questions/18778844/group-concat-in-sqlite by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 크로스 중복 조합없이 가입 (0) | 2020.05.27 |
---|---|
[SQL] PDO-> 쿼리 ()와 PDO-> 간부의 차이 () (0) | 2020.05.27 |
[SQL] WHERE 절을 사용하여 여러 테이블 MySQL을 UPDATE 구문 (0) | 2020.05.27 |
[SQL] MySQL은 # 1140 - GROUP 컬럼의 혼합 (0) | 2020.05.27 |
[SQL] SqlParameter에 C #을 표 이름과 테이블 필드? (0) | 2020.05.27 |