2011-05-06 4 views
0

dataset1, dataset2라는 두 개의 데이터 집합이 있습니다. 그들 사이에 왼쪽 외부 조인 관계를 넣고 싶습니다.데이터 집합 간의 왼쪽 외부 조인 관계

예 :을 DataSet1 왼쪽 외부는 적어도 두 가지 답이있다, 그래서 dataset2

+3

당신은 두 개의 데이터 세트 또는 데이터 테이블을 의미합니까? 얼마나 많은 노력을했는지 분석 할 수있는 몇 가지 코드를 보여주십시오. –

답변

3

귀하의 질문이 좀 불분명 가입 할 수 있습니다.

당신은 실제로 두 개의 서로 다른 DataSets을해야합니까 그들은 다음 LINQ (with Linq to DataSet)가 왼쪽 외부 조인을 만드는 데 사용할 수있는 별도의 DataSet의 체류해야하는 경우. 다음은 LINQ (onetwo)를 사용하여 왼쪽 외부 조인을 만드는 방법을 설명하는 몇 가지 블로그 게시물입니다. 당신은 정말이 DataTables 둘 사이에 가입하고있는 것을 의미하는 경우 코드는 아마도

var joinResult = from ds1Row in dataset1.Tables["some table"] 
       join ds2Row in dataset2.Tables["some other table"] 
       on ds1Row.Field<T>("some column") equals ds2Row.Field<T>("some other column") into tmpResult 
       from resultRow in tmpResult.DefaultIfEmpty() 
       select // select whatever information you want 
       ; 

의 라인을 따라 뭔가를 볼 것이다하거나 Merge 방법 다음 create a relationship between any two tables을 사용하여 하나의 데이터 집합에 두 개의 데이터 집합을 결합 할 수 있습니다. 코드는 다음 줄을 따라 표시됩니다.

mergedDataset.Relations.Add("relation name", 
    mergedDataset.Tables["some table"].Columns["some column"], 
    mergedDataset.Tables["some other table"].Columns["some other column"]); 
2

동일한 데이터 집합의 두 테이블간에 만 데이터 연결 만 만들 수 있습니다. Merge 메서드를 사용하여 두 데이터 집합을 함께 가져 오는 것입니다.

DataSet1.Merge(DataSet2) 

그런 다음 해당 링크가 외부 조인 않는 좋은 VB에서 프로그램을 가지고

DataSet1.Relations.Add(new DataRelation("myRelationship",DataTable1.Columns("ID"),DataTable2.Columns("ID"))) 
0

결과가 필요하면 LINQ 연산자를 사용하여 두 개의 DataTables/DataSets를 쿼리하고 조인 할 수있는 LINQ to DataSets를 사용하는 것이 좋습니다.

에릭