Hello Jothis,
I don't know how to use three tables in a querry with join connections (SQLite provides (INNER[as standards]-, LEFT[OUTER]- and CROSS).
You can use two tables to build a LEFT JOIN querry, where details is your left table and state is the second. With LEFT JOIN you get all values from the left table but only the values from the Right table where the ON-statement is true.
FROM details LEFT JOIN state ON (details."state_id" = state."state_id")
Then you can build a VIEW or temp VIEW. This VIEW is the LEFT part of the next querry. You can connect the district to this View in the same way.
FROM tempview LEFT JOIN district ON (tempview."district_id" = district."district_id")
Its much complicated but it should show all details but ony state and district if it is used.
Best regards
berndgoedecke