У меня есть некоторые данные, структурированные как Country / State / District / PostalCode, которые хранятся в виде столбцов в таблице с названием «LocationData» в Cassandra с почтовым индексом в качестве ключа раздела / первичного ключа. У меня есть интерфейс, где я пытаюсь получить эти данные и показать их в теге выбора. Когда пользователь выбирает страну (динамически загружается), состояния этой страны будут динамически загружены в другой тег выбора. Когда пользователь выбирает штат, районы этого штата будут загружаться динамически и так же, как и почтовый индекс.
Проблема в том, что когда я пытаюсь запросить все отдельные страны, доступные в базе данных, например "SELECT DISTINCT country FROM tableName"
, он показывает ошибка, поскольку ключевое слово DISTINCT можно использовать только для ключей раздела. Поэтому я должен использовать "SELECT country FROM tableName"
, что даст тысячи строк, поскольку значение столбца страны будет одинаковым для многих почтовых индексов. Затем я беру набор результатов из запроса и программно получаю все отдельные страны. Точно так же, когда пользователь выбирает страну, я извлекаю все штаты этой страны, используя SELECT state FROM tableName where country=" SomeCountry"
, который также дает повторяющиеся записи, которые необходимо отфильтровать, чтобы получить все отдельные состояния, что крайне неэффективно, так как мне нужно искать по тысячам строк, чтобы получить отличные значений каждый раз, когда пользователь выбирает другую страну / штат / район и т.д.