Chaoyu Tang created HIVE-12566:
----------------------------------

             Summary: Incorrect result returns when using COALESCE in WHERE 
condition with LEFT JOIN
                 Key: HIVE-12566
                 URL: https://issues.apache.org/jira/browse/HIVE-12566
             Project: Hive
          Issue Type: Bug
          Components: Query Planning
    Affects Versions: 0.13.0
            Reporter: Chaoyu Tang
            Priority: Critical


The left join query with on/where clause returns incorrect result (more rows 
are returned). See the reproducible sample below.
Left table with data:
{code}
CREATE TABLE ltable (i int, la int, lk1 string, lk2 string) ROW FORMAT 
DELIMITED FIELDS TERMINATED BY ',';
---
1,\N,CD5415192314304,00071
2,\N,CD5415192225530,00071
{code}
Right  table with data:
{code}
CREATE TABLE rtable (ra int, rk1 string, rk2 string) ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',';
---
1,CD5415192314304,00071
45,CD5415192314304,00072
{code}
Query:
{code}
SELECT * FROM ltable l LEFT OUTER JOIN rtable r on (l.lk1 = r.rk1 AND l.lk2 = 
r.rk2) WHERE COALESCE(l.la,'EMPTY')=COALESCE(r.ra,'EMPTY');
{code}
Result returns:
{code}
1       NULL    CD5415192314304 00071   NULL    NULL    NULL
2       NULL    CD5415192225530 00071   NULL    NULL    NULL
{code}
The correct result should be
{code}
2       NULL    CD5415192225530 00071   NULL    NULL    NULL
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to