2014-04-16 4 views
0
SELECT ui.* 
FROM users_table as ui 
WHERE ui.id 
IN 
(
SELECT Group_concat 
(REPLACE 
(REPLACE 
(REPLACE(ac.user_id,',,','-'),',',''),'-',',')) AS au_users 
FROM email_access as uu 
LEFT JOIN bill_authorizationcodes AS ac 
ON ac.customer_id = uu.cust_id 
WHERE uu.user_id = 2 
AND ac.user_id !="" 
) 

그것의 모든 ID 정보를 선택하지 ... 의 첫 번째를 선택 ID 만 .... 당신은 잘못된 접근 방식을 사용하고IN() 함수 내부에서 group_concat을 사용하는 방법은 무엇입니까?

+0

@ 로렌스 마이어의 대답을 확인 했습니까? – jmail

답변

1

. In은 쉼표로 구분 된 값을 갖는 문자열이 아니라 값 목록을 기대합니다. 그냥

SELECT ui.* FROM users_table as ui 
WHERE ui.id IN (
    SELECT ac.user_id 
    FROM email_access as uu 
    LEFT JOIN bill_authorizationcodes AS ac ON ac.customer_id = uu.cust_id 
    WHERE uu.user_id = 2 AND ac.user_id !="") 
관련 문제