* Handle table alias map for where, group, and order
* Handle table alias in join condition
* Handle multiple condition parts
* Added distinct option
* Reworked the logic to use WITH clause