It sounds like you are currently selecting a linked field to specify which book is sold. If your [Inventory] and [Sales] are in different bases, you will need a different method of identifying what book is sold. You will not be able to pick from a linked field. You will have to manually type in the identifier for the book (or copy/paste from the inventory table).
Once you have a unique identify for each book that will be the same across both the [Sales] and [Inventory] bases, you can have the book in the [Inventory] table marked as sold when a new sale occurs for the book. If each sale can include multiple books, you will also need to a new way of indicating multiple books in the sales record.
Other considerations include how are you doing data entry? Is all data entry manual?
There are multiple ways of doing this, including using Zapier, or also using synced views and automations. Here is one way:
Have a unique code for each book that can be used across both bases and is each to remember or look up.
When you make a new sale, create a new record in the [Sales] base. Have a filtered view that only shows recent sales.
Create a synced table in the [Inventory] base that shows the recent sales. Make sure to have it delete records that are deleted in the source.
In the [Inventory] base, have an automation that triggers off the synced table. Have the automation use the unique book code in the sales record to update the corresponding inventory record.
There are a lot of details that will need to be worked out. For example, if you have multiple books in the same sale, you may need to use a scripting automation to parse out the individual books. It is also possible to make things simpler if you use the record id of the book inventory as the book code that you enter in the [sales] record.