2016-07-15 4 views
0

표현식과 일치하지 않더라도 모든 엔티티를 선택하려고하지만이 것은 '참'값만 반환합니다.regexp_match가 실패하면 빈 열을 선택하십시오.

SELECT entity_id, regexp_matches(error_params, '"select_flight"') IS NOT NULL 
FROM MyTable 
GROUP BY 1 

SELECT 문 내부에 또는 우리가 regexp_matches 결과 테이블에 LEFT JOIN를 사용한다이 경우에 같은 문제를 해결 할 수있는 방법이 있나요? 내가 제대로 질문을 이해 해요 경우

+1

을 여기 by''그룹을 필요 왜? –

+0

@vkp,'MyTable' 안의'error_params' 열과 일치하는 모든 entity_id와 정규 표현식의 수를 선택하고 싶습니다. –

+0

샘플 데이터 및 예상 결과를 제공 할 수 있습니까? 'regexp_matches'가 필요하지만 질문을 이해하기 어렵다는 것을 확신하지 못합니다. 그리고 만약 당신이'count'를 원하면'count'를 사용할 필요가 있습니다 ... – sgeddes

답변

0

, 당신은 casecount를 사용할 수 있습니다

select entity_id, 
     count(case when error_params like '%select flight%' then 1 end) cnt 
from mytable 
group by 1 
+0

이 아이디어에 감사드립니다.'count (error_params ~ 'regexp'then 1 end)'를 사용하려고했습니다. 나를 위해 좋은. –

관련 문제