yoursyun

DataTable - LEFT OUTER JOIN (with Linq ) 본문

program/c#

DataTable - LEFT OUTER JOIN (with Linq )

yoursyun 2012. 4. 4. 09:33

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); }


반응형