Ich habe zwei DataTables, die Daten von zwei verschiedenen Quellen bekommen. Ich möchte eine neue DataTable-Tabelle3 mit NUR Tables1-Zeilen haben, die nicht übereinstimmende Table2-Zeilen haben. Meine zwei DataTables haben unterschiedliche Strukturen wie unten angegeben. Sie alle teilen jedoch den gleichen Primärschlüssel - CarReg. Daher möchte ich Zeilen mit der CarReg-Spalte vergleichen und alle Zeilen in Tabelle 1, aber NICHT in Tabelle 2 zurückgeben. Meine zurückgegebene Table3 DataTable wird dieselbe Struktur wie Table1 haben.Vergleichen Sie zwei DataTables und wählen Sie erste Tabellensätze aus, die NICHT in der zweiten Tabelle enthalten sind
Table1.Columns.Add("CarReg", typeof(string));
Table1.Columns.Add("Site", typeof(string));
Table1.Columns.Add("Route", typeof(double));
Table1.Columns.Add("Driver", typeof(string));
Table1.Columns.Add("StartingDate", typeof(string));
Table2.Columns.Add("CarReg", typeof(string));
Table2.Columns.Add("SITE DESC", typeof(string));
Table2.Columns.Add("Route DESC", typeof(double));
Table2.Columns.Add("Driver", typeof(string));
Table2.Columns.Add("KILOS", typeof(string));
Ich habe versucht, die unten, aber ich bekomme alle Datensätze aus der ersten Tabelle Table1. Ich brauche nur Datensätze, die in Tabelle 1, aber nicht in Tabelle 2 sind. Wenn zum Beispiel Tabelle1 20 Datensätze und Tabellen2 15 Datensätze haben, brauche ich nur die 5 Datensätze. Bitte helfen Sie.
var recordsNotInB = TableA.AsEnumerable().Select(r =>r.Field<string>("CarReg").Except(TableB.AsEnumerable().Select(r => r.Field<string>("CarReg")));
Also möchten Sie alle Datensätze aus Tabelle1, die keine übereinstimmende CarReg in Tabelle2 hat? –
@YawarMurtaza Ja, ich möchte alle Datensätze von Table1, die keinen passenden CarReg in Tabelle2 haben. Danke, dass Sie dies in einem einfachen englischen Satz angeben. –