Yes, you can add as many tables as you like. The function that retrieves the schema will provide all the columns and tables as input to the LLM. You only need to add a few example SQL queries (few shots) for those tables so the LLM can understand how to JOIN them if necessary.
That's a good remark. Currently, the second model makes an assumption about the initial question based solely on the SQL response provided. For a robust approach, the initial question needs to be added to the prompt of the chain_query function. By including both the initial question and the SQL response as input fields, the final answer will be more accurate.