ZhangHuiGui opened a new issue, #40380: URL: https://github.com/apache/arrow/issues/40380
### Describe the usage question you have. Please include as many useful details as possible. ## Request like below PostgreSQL like below: ```sql postgres=# explain verbose select * from a,b where (a.c1+1)=b.c1; QUERY PLAN ------------------------------------------------------------------------- Hash Join (cost=55.90..1477.27 rows=23052 width=20) Output: a.c1, a.c2, a.c3, b.c1, b.c2 Hash Cond: (b.c1 = (a.c1 + 1)) -> Seq Scan on public.b (cost=0.00..32.60 rows=2260 width=8) Output: b.c1, b.c2 -> Hash (cost=30.40..30.40 rows=2040 width=12) Output: a.c1, a.c2, a.c3 -> Seq Scan on public.a (cost=0.00..30.40 rows=2040 width=12) Output: a.c1, a.c2, a.c3 ``` For this kind of situation, the hash-key will become an expression rather than a field_ref. For this situation, we need do project for the hash-key first when we select the hash-key-batch before we do build/probe. But for now, seems we're not supporting this in basic_join and swiss_join implementation? ### Component(s) C++ -- 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. To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org