2011-08-22 2 views
1

열과 비슷하게 where 절을 사용하려고합니다. 그러나 여러 구문에 대해 검색하려면 하위 쿼리를 사용해야합니다.LIKE 또는 REGEXP가있는 여러 구문에 대해 하위 쿼리를 수행하는 방법은 무엇입니까?

이 질문은 지금 내 쿼리는 다음과 같습니다

MySQL LIKE IN()? 유사하다.

WHERE hashtag REGEXP 'indiana|iu|bloomington' 

그러나 나는 그렇게 내 쿼리가 위의 선이 분명 작동하지 않습니다이

WHERE hashtag REGEXP (select name from hashtags where hid = 1) 

같은 것입니다 문자열이 어디 하위 쿼리를 할 필요 정규 표현식은 것 있는지 확실하지 않습니다 이 상황에서 최고가 되십시오. 하위 쿼리를 사용하여 여러 문자열에 대해 LIKE 또는 REGEXP를 사용하는 방법이 있습니까? 아마도 내가 지금 보지 못하는 서브 쿼리없이 이것을 수행하는 더 좋은 방법이있을 것입니다. 도움이나 방향에 대해 감사드립니다. 감사합니다.

답변

2

이 작업을 수행 할 수 있습니다

WHERE hashtag REGEXP (select GROUP_CONCAT(name SEPARATOR '|') from hashtags where hid = 1) 
당신은 또한 정규 표현식에 가입 할 수
1

:

SELECT mt.hashtag, ht.name 
    FROM mytable mt 
    JOIN hashtags ht 
    ON mt.hashtag REGEXP ht.name 
WHERE ht.hid = 1; 
관련 문제