How to generate query based off from user input

For me, still not clear what you wish as result.

{  
 var(func:eq(customer_id, "2")) {
  C_ID AS customer_id
 }

search_by_ehid_using_cust_id_link (func:eq(ehid, "1")) @normalize {
  ~subscribes_as @filter(uid(C_ID))  {
    ~authenticate_as{
      result: xcode
    }
   }
 }     
}

Resutl

{
  "data": {
    "search_by_ehid_using_cust_id_link": [
      {
        "result": "x3"
      }
    ]
  }
}

This is the main result, which you find it fine.

With the same query, but set to 1 / 0 / or any

var(func:eq(customer_id, "1"))

I get

{
  "data": {
    "search_by_ehid_using_cust_id_link": []
  }
}

And any other combination I gonna have the same result. With this in mind, I can’t get what exactly you wanna have.