-1
작동하지 않습니다 가입 : http://sqlfiddle.com/#!9/0cc41/1/0MYSQL은 왼쪽 조건 나는 내 문제의 예를
설명 : 세 개의 테이블 (이벤트, 사람 및 사용자)이 있습니다. 테이블 사람은 이벤트와 사용자를 연결합니다. persons.type_id는 events.id이고 persons.user_id는 user.id입니다. 두 사건 (id 1과 2)을 만들었습니다. 각 이벤트마다 직접 한 항목이 있습니다.
내는 SQL :
SELECT events.*,
coalesce(part_person.Accept_Participants_LJ, 0) AS Accept_Participants
FROM events
LEFT JOIN (
SELECT GROUP_CONCAT(CONCAT(part_user.forname, ' ', part_user.surname) SEPARATOR ', ') AS Accept_Participants_LJ,
part_person.type_id
FROM persons AS part_person
LEFT JOIN user AS part_user ON part_user.id = part_person.user_id
WHERE part_person.type = 'event_participant'
) part_person ON events.id = part_person.type_id
GROUP BY events.id
내 기대했다 : 당신이 볼 수 있듯이
------------------------
|id|Accept_Participants|
------------------------
|1 | Carl Habicht |
------------------------
|2 | Peter Zwegert |
------------------------
, 결과는 다음과 같습니다
----------------------------------
|id| Accept_Participants |
----------------------------------
|1 | Carl Habicht, Peter Zwegert|
----------------------------------
|2 | 0 |
----------------------------------
그가를 무시 보인다 ON- 왼쪽 결합의 조건입니다.
하지만 내 실수는 어디에 있습니까?