Используя MySQL GROUP_CONCAT в операторе Where

Действительно ли возможно поместить GROUP_CONCAT в оператор Where MySQL?

У меня есть две таблицы (один для участников и один для получения информации об оплате). Например,

Членская таблица

num, memNumber, fullName, coporateName, surname
001, mem0010, Joe Bloggs, NULL, Bloggs
002, mem0015, NULL, BBC
003, mem0017, John Peters, NULL
004, mem0101, Emma Jane, NULL

Платежная таблица

num, memberID, subscriptionYear, amount
001, mem0010, 2008, 30
003, mem0010, 2010, 40
004, mem0015, 2010, 40
005, mem0017, 2009, 35
006, mem0101, 2009, 35
007, mem0017, 2010, 40

У меня есть следующий запрос для получения информации от обеих таблиц (я упростил его для создания его более читаемым).

SELECT members.num, members.memNumber , members.fullName , members.corporateName ,
       CONCAT(members.corporateName , members.surname) AS searchSurname ,
       GROUP_CONCAT(payment.subscriptionYear) As subscriptionYear ,
       GROUP_CONCAT(payment.amount) AS amount    
FROM members 
LEFT JOIN payment ON members.memNumber = payment.memberID    
WHERE `subscriptionYear` NOT LIKE '%2009%'    
GROUP BY members.num    
ORDER BY `searchSurname` ASC

Но это удаляет "2009" из результатов subscriptionYear столбец. Не видьте, находится ли 2009 в результирующем GROUP_CONCAT?

5
задан OMG Ponies 6 January 2010 в 15:41
поделиться