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)