Maciej Los
Предполагая, что tbl1
является ли объект datatable объектом, вы должны объединить Where
+ Any
метод.
Итак, взгляните на пример и измените свой запрос в соответствии с вашими потребностями.
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Emp", typeof(int)));
dt.Columns.Add(new DataColumn("Temp", typeof(string)));
dt.Rows.Add(new object[]{100, "S1+S2+S3"});
dt.Rows.Add(new object[]{100, "S1+S2+S3"});
dt.Rows.Add(new object[]{100, "S1+S2+S3"});
dt.Rows.Add(new object[]{100, "S1+S2+S3"});
dt.Rows.Add(new object[]{100, "S1+S2+S3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "Z1+Z2+Z3"});
dt.Rows.Add(new object[]{100, "S1+Z3"});
dt.Rows.Add(new object[]{100, "L1+L2"});
dt.Rows.Add(new object[]{100, "L1+L2"});
dt.Rows.Add(new object[]{100, "A+B"});
dt.Rows.Add(new object[]{100, "C+DD"});
dt.Rows.Add(new object[]{100, "EE+Fin"});
dt.Rows.Add(new object[]{100, "Ke+W"});
string[] values = new string[]{"S1", "S2"};
var qry = dt.AsEnumerable()
.Where(x=> x.Field<string>("Temp")
.Split(new string[]{"+"}, StringSplitOptions.RemoveEmptyEntries)
.Any(y=>values.Contains(y)));
Результат:
Emp Temp
100 S1+S2+S3
100 S1+S2+S3
100 S1+S2+S3
100 S1+S2+S3
100 S1+S2+S3
100 S1+Z3
gani7787
а как насчет того, что не содержит таких значений, как" Fi "и"K"?..
что нам нужно добавить в запрос?..