You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "jay wong (JIRA)" <ji...@apache.org> on 2014/02/27 10:48:20 UTC

[jira] [Created] (PHOENIX-83) select with left join when the where condition has right tables, the result is error

jay wong created PHOENIX-83:
-------------------------------

             Summary: select with left join when the where condition has right tables, the result is error
                 Key: PHOENIX-83
                 URL: https://issues.apache.org/jira/browse/PHOENIX-83
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 3.0.0
            Reporter: jay wong
             Fix For: 3.0.0


I have two table.
 select * from test_join1;
+------------+---------+------------+--------------+
| VARCHAR_PK | CHAR_PK | INT_COLUMN | INT_COLUMN_B |
+------------+---------+------------+--------------+
| Aarchar0   | A0      | 50         | 50           |
| Aarchar1   | A1      | 51         | 51           |
+------------+---------+------------+--------------+

select * from test_join2;
+------------+---------+------------+--------------+
| VARCHAR_PK | CHAR_PK | INT_COLUMN | INT_COLUMN_B |
+------------+---------+------------+--------------+
| Barchar1   | B1      | 51         | 51           |
| Barchar2   | B2      | 52         | 52           |
| Barchar3   | B3      | 53         | 53           |
| Barchar4   | B4      | 54         | 54           |
| Barchar5   | B5      | 55         | 55           |
+------------+---------+------------+--------------+

first query:
select test_join1.varchar_pk,sum(test_join2.int_column), min(test_join2.int_column_b) from test_join1 left join test_join2 on test_join1.int_column = test_join2.int_column where test_join1.int_column > 40 and test_join1.int_column < 100    GROUP BY TEST_JOIN1.VARCHAR_PK;
+------------+------------------------------------------+--------------------------------------------+
| VARCHAR_PK | SUM(TEST_JOIN2.INT_COLUMN(PROJECTED[1])) | MIN(TEST_JOIN2.INT_COLUMN_B(PROJECTED[2])) |
+------------+------------------------------------------+--------------------------------------------+
| Aarchar0   | null                                     | null                                       |
| Aarchar1   | 51                                       | 51                                         |
+------------+------------------------------------------+--------------------------------------------+

the result is expected。

but when query with 

select test_join1.varchar_pk,sum(test_join2.int_column), min(test_join2.int_column_b) from test_join1 left join test_join2 on test_join1.int_column = test_join2.int_column where test_join2.int_column > 50 and test_join1.int_column < 53    GROUP BY TEST_JOIN1.VARCHAR_PK;
+------------+------------------------------------------+--------------------------------------------+
| VARCHAR_PK | SUM(TEST_JOIN2.INT_COLUMN(PROJECTED[1])) | MIN(TEST_JOIN2.INT_COLUMN_B(PROJECTED[2])) |
+------------+------------------------------------------+--------------------------------------------+
| Aarchar1   | 51                                       | 51                                         |
+------------+------------------------------------------+--------------------------------------------+









--
This message was sent by Atlassian JIRA
(v6.1.5#6160)