Обратите внимание, что в этих решениях используется класс активных записей Code Igniter
Этот метод использует подзапросы, как вы хотите, но вы должны очистить $countryId
самостоятельно!
$this->db->select('username')
->from('user')
->where('`locationId` in', '(select `locationId` from `locations` where `countryId` = '.$countryId.')', false)
->get();
Или этот метод сделает это с помощью объединений и очистит данные для вас ( рекомендуется )!
$this->db->select('username')
->from('users')
->join('locations', 'users.locationid = locations.locationid', 'inner')
->where('countryid', $countryId)
->get();