2017-12-22 13 views
-1

:구문 오류 (케이스 문) 오류에 occures 표제 마찬가지로

CASE 
WHEN hl.brnd_fmly_desc_txt <> null THEN 'HERO BRANDS' 
ELSE NULL 
END AS hero_brnd_fmly_desc_txt, 

...

LEFT JOIN (SELECT DISTINCT h.brnd_fmly_desc_txt, h.brnd_fmly_id 
FROM ext_ce.hero_brands_list h 
GROUP BY h.brnd_fmly_desc_txt, h.brnd_fmly_id) AS hl 
on c.brnd_fmly_id = hl.brnd_fmly_id 

코드를 붙여 너무 복잡 모든. 사전에 8.3

감사를 c.brnd_fmly_id = hl.brnd_fmly_id은 '영웅의 브랜드'

이것은 Postgre SQL을 같은 값을 호출 나는 기존 쿼리에 h.brnd_fmly_desc_txt 가입 왼쪽려고하고 조건이 충족되는 경우 당신이 이 오류가 발생하는 이유

+0

그 하위 쿼리의 요구. SELECT DISTINCT는 모든 중복을 제거합니다. – jarlh

답변

1

모르겠어요. 그러나 당신의 논리는 잘못되었습니다. 표현 <> null는 항상 false로 처리됩니다 NULL을 반환합니다. 원하는 논리는 다음과 같습니다.

(CASE WHEN hl.brnd_fmly_desc_txt IS NOT NULL THEN 'HERO BRANDS' 
END) AS hero_brnd_fmly_desc_txt 

ELSE은 필요하지 않습니다. 그대로 둘 수는 있지만 기본값은 NULL이므로 중복됩니다. 어떤 GROUP BY