Take a look at example:
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("GrpId", typeof(int)));
dt.Columns.Add(new DataColumn("type id", typeof(int)));
dt.Columns.Add(new DataColumn("entryID", typeof(int)));
dt.Rows.Add(new object[]{10, 1, 1});
dt.Rows.Add(new object[]{-1, 2, 1});
dt.Rows.Add(new object[]{11, 1, 2});
dt.Rows.Add(new object[]{12, 2, 2});
dt.Rows.Add(new object[]{10, 1, 3});
dt.Rows.Add(new object[]{-1, 2, 3});
dt.Rows.Add(new object[]{10, 1, 4});
dt.Rows.Add(new object[]{-1, 2, 4});
dt.Rows.Add(new object[]{23, 1, 5});
dt.Rows.Add(new object[]{-1, 2, 5});
dt.Rows.Add(new object[]{24, 1, 6});
dt.Rows.Add(new object[]{-1, 2, 6});
dt.Rows.Add(new object[]{10, 1, 7});
dt.Rows.Add(new object[]{-1, 2, 7});
dt.Rows.Add(new object[]{10, 1, 8});
dt.Rows.Add(new object[]{-1, 2, 8});
var entries = dt.AsEnumerable()
.Where(x=>x.Field<int>("GrpId")==10)
.Select(x=>x.Field<int>("entryID"))
.ToList();
var result = dt.AsEnumerable()
.Where(x=> x.Field<int>("GrpId")==-1 &&
x.Field<int>("type id")==2 &&
entries.Any(y=>y==x.Field<int>("entryID")))
.ToList();
Good luck!