wutiangan commented on issue #4162:
URL: 
https://github.com/apache/incubator-doris/issues/4162#issuecomment-670401413


   @hexian55 
   this is not a bug. In a left join sql stmt,  if the join predicate of 
on-join-conditions(the join conditions in on clause) is completely bound by the 
left table, the predicate cannot be pushed down to the base table, but the 
predicate which is completely bound by the right table can be pushed down to 
the base table.
   
   for example:
   sql
   >  select * from t1 left join t2 on t1.k1 =  1 and t2.k1 = 1 and t1.k1 = 
t2.k1
   
   t1 table has only one column
   
   ```
   t1.k1 
   ------
   1      
   2      
   ```
   t2 table has only colum
   ```
   t1.k1
   -----
   1
   3
   ```
   the normal result is 
   ```
   t1.k1  | t2.k1
   -------------
   1      |    1
   2      |  NULLL
   ```
   If t1.k1 = 1 is pushed down to T1, only one record will be returned when 
scanning T1, and the above SQL will return only one record, this is wrong 
result, because it should return two rows.
   ```
   t1.k1  | t2.k1
   -------------
   1      |    1
   ```
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to