Limit Taxonomy display in Term Reference based on criteria? I have Taxonomy called "Region" ex: (Region A / B / C)
Each user is linked to Taxonomy "Region" using Profile2 module (one person can be linked to multiple regions)
Content Type "Article" has a Term Reference field linked to same Taxonomy. (value = unlimited)


Requirement:
. In content type "Article", I am asking user to select the Region (as Taxonomy Select list) where this Article belong too - how do I limit the Taxonomy list based on the Region user have an access too? 

ex: User1 is linked to Region A / User2 is linked to Region A &amp; B; When User1  creates an Article, Term Reference Taxonomy to show "Region A" but when User2 - show both "Region A" and "Region B"

in SQL world, I would write something like this.

select t.name
from taxonomy t
where t.name in (select p.name from profile p where user_id = :%1);

How would you achieve this in Drupal without writing custom code?

p.s: My apologies - I am from database world and very new to Drupal; still learning Drupal lingo.
I achieve the behaviour described in the question with:


Entity Reference
Views 


In my Entity Reference field I use these settings: 


Target type: Taxonomy term
Entity selection > Mode: Views: Filter by an entity reference view
Entity selection > View used to select the entities: My custom view


In My custom view entity reference I have (most importantly):


A relationship: to the user referencing the taxonomy 
A contextual filter: to grab only the terms the user "is linked to"


Related to this question - actually this is what brought me here, In some cases it easier to filter taxonomy terms using a get parameter. For example, I want my visitors to see only the cities of one country when adding a classified ad, I will have a view that produces this:


Morocco: q=node/add/ad?country_tid=1
India: q=node/add/ad?country_tid=2
Zambia: q=node/add/ad?country_tid=3


And on the entity reference view used on the ad content type I will add a contextual filter with a default value generated by this PHP code

return $_GET['country_tid'];


PS.
I tried hierarchical select, term reference tree and hook_form_alter. This solution is KISS.