Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
DataTables Left Join
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using System.Data; namespace Rextester { public class Program { public static void Main(string[] args) { //Your code goes here DataTable dtLeft=new DataTable(); dtLeft.Columns.Add("sno"); dtLeft.Columns.Add("eno"); DataRow drLeft=dtLeft.NewRow(); drLeft[0]="1";drLeft[1]="0001"; dtLeft.Rows.Add(drLeft); drLeft=dtLeft.NewRow(); drLeft[0]="2";drLeft[1]="0003"; dtLeft.Rows.Add(drLeft); DataTable dtRight=new DataTable(); dtRight.Columns.Add("eno"); dtRight.Columns.Add("ename"); DataRow drRight=dtRight.NewRow(); drRight[0]="0001";drRight[1]="name1"; dtRight.Rows.Add(drRight); drRight=dtRight.NewRow(); drRight[0]="0002";drRight[1]="name2"; dtRight.Rows.Add(drRight); Console.WriteLine("Hello, world!"); dtLeft.Columns.Add("ename"); //dtLeft.Columns["ename"].SetOrdinal(0); var Result = from Leftrow in dtLeft.AsEnumerable() join Rightrow in dtRight.AsEnumerable() on Leftrow["eno"] equals Rightrow["eno"] into temp from r in temp.DefaultIfEmpty() select Leftrow.ItemArray.Concat((r == null) ? (dtRight.NewRow().ItemArray) : r.ItemArray).ToArray(); //dtLeft.Columns.Add("ename"); int row=0; foreach (object[] values in Result) {dtLeft.Rows[row]["ename"]=values[dtLeft.Columns.Count+1];row++;}//dtLeft .Rows.Add(values); for(int i=0;i<dtLeft.Rows.Count;i++) { for(int j=0;j<dtLeft.Columns.Count;j++) { Console.Write(dtLeft.Rows[i][j].ToString()+"\t"); } Console.Write("\n"); } } } }
run
|
edit
|
history
|
help
0
interface
Class Objects
DateTime.Now.Date
2.1 Basic types: Lists and Linq beauty
Talk To Jack
Returning object as parameter (pre-example without overloading)
Aufgabe 1 J.S.
CommandForce3
Generics basics
Planet-D v.0.6