yoursyun
DataTable - LEFT OUTER JOIN (with Linq ) 본문
DataTable - LEFT OUTER JOIN
using System.Linq; var query = from o in LeftTable.AsEnumerable() // 부모테이블 join e in RightTable.AsEnumerable() // 자녀테이블 on (string)o["logon_cd"] equals (string)e["adlogon_cd"] into gj // 비교 하고자 하는 key 값 from adList in gj.DefaultIfEmpty() // 비교 key null 체크 : 이걸 빼버리면 inner join 결과를 얻을 수 있습니다. select new // 결과 집합을 query 변수에 생성 : 여기서 값을 가공 할수 있습 니다. { logon_cd = (string)o["logon_cd"] , adlogon_cd = (adList == null ? string.Empty : adList["adlogon_cd"].ToString()) , user_nm = (string)o["user_nm"] }; // 마지막으로 결과 집합을 새로운 데이터 테이블에 값을 삽입. foreach (var v in query) { DataRow row = joinDT.NewRow(); row["logon_cd"] = v.logon_cd; row["adlogon_cd"] = v.adlogon_cd; joinDT.Rows.Add(row); }
반응형