2016-09-27 4 views
0

여러 테이블의 이름 목록이 필요합니다. Table A, Table B, Table C, Table D. 표 A, B & C에는 표 D의 열 "ConsumerName"과 함께 목록에 넣어야하는 하나의 열 "CompanyName"이 있습니다. 모든 테이블에서 고유 한 값의 열만 있으면되므로 조인을 사용하지 않고이 테이블을 모두 추가 할 수 있습니까? 이 값은 사용자 입력과의 비교에 사용됩니다. 어떤 도움을 주신 것입니다 :)여러 테이블에서 하나의 열을 하나의 목록으로 결합하려면 어떻게합니까?

답변

1

난 당신이 중복으로 버전이 번째 노동 조합의 결과는 항상 모든

UNION 구별된다

SELECT CompanyName from A 
UNION 
SELECT CompanyName from B 
UNION 
SELECT CompanyName from C 
UNION 
SELECT ConsumerName from D 

가입 대신의 UNION을 원한다고 생각

0

의견에 제안을 게시했지만 'Distinct'조건을 고려하지 않았기 때문에 코드가 약간 길어 졌으므로 답변을 게시 할 것입니다.

System.Linq에 대한 참조가 필요하며 여기에 4 개의 테이블 값이 저장되어 있다고 가정합니다.

List<string> values = new List<string>(); 

values.AddRange(tableA.Select(ta => ta.CompanyName).ToList()); 

var tableBVals = tableB.Where(tb => !values.Contains(tb.CompanyName)).ToList(); 
values.AddRange(tableBVals); 

var tableCVals = tableC.Where(tc => !values.Contains(tc.CompanyName)).ToList(); 
values.AddRange(tableCVals); 

var tableDVals = tableD.Where(td => !values.Contains(td.ConsumerName)).ToList(); 
values.AddRange(tableDVals); 

나는 그것이 당신이 원하는 것보다 길고 지저분하다는 것을 깨달았지만 핀치 (pinch)로 할 것입니다.

관련 문제