We have two types of users and two projects.
users:
- Admin who should access all the data on a Table
- Users who should be able to query just some columns of a Table
As you see in the following diagram, the access data should be in this way without duplicating data:

As it is not possible to give access to users based on a Column (and not even based on a Table because access control on BigQuery is just on the Dataset level), the easiest solution which comes to mind is to:
- Duplicate data in two different datasets or project, one with all data, and another one with those columns which second group can query.
How we can find a solution without duplicating data?