таблицы данных оставлены присоединиться к C # - PullRequest
2 голосов
/ 29 января 2012

Пусть T1 и T2 являются таблицами данных со следующими полями

T1 (CustID, ColX, ColY)

T2 (CustID, ColZ)

Мне нужно выполнить левое соединение на CustID

Как это можно сделать в коде C # простым способом?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 29 января 2012

Вы можете использовать LINQ для этого.Вот псевдокод для левого объединения двух наборов данных:

T1.rows.Select(leftRow=>new{
CustID = leftRow.CustID
ColX = leftRow.ColX
ColY = leftRow.ColY
ColZ = T2.Select(rightRow=>rightRow.ColZ).Where(rightRow=>rightRow.CustID == leftRow.CustID).FirstOrDefault()
});
0 голосов
/ 31 октября 2014

Использовать приведенный ниже запрос для левого внешнего соединения

 var query = from t_1 in T1 
                        join t_2 in T2 on t_1.CustID equals t2.CustID into gj
                        from subpet in gj.DefaultIfEmpty()
                        select new { x= t_1.ColX,y=t_2.ColY};
0 голосов
/ 29 января 2012

Похоже, вы за рулем .NET концепции Linq .Если это так, этот вопрос говорит о левом соединении с использованием Linq.

Если нет, просто подумайте, что такое левое соединение, и создайте тип, который соответствует вашему желанию (CustID, ColX, ColY, ColZ), где ColZ обнуляется и заполняется в соответствии с правилами левого соединения.

...