[The documentation](https://sqlite.org/lang_indexedby.html) does state: *"If the query optimizer is unable to use the index specified by the INDEX BY clause, then the query will fail with an error."* Obviously, it is not possible to select column `a` from an index on `b`.