2014-12-11 3 views
0

LINQ에서이 기능을 SQL에서 어떻게 수행 할 수 있습니까? 는 여기에 하나의 계약 ID 3 SP 번호를 얻고있다 :LALQ에서 Coalesce를 사용하여 행을 단일 열로 피벗하는 SQL 쿼리를 복제하는 방법

DECLARE @Names VARCHAR(8000) 

SELECT @Names = COALESCE(@Names + ', ', '') + us.SP_NBR 
FROM CAATS_ADMIN.CONTRACT_SP us 
WHERE US.CNTRCT_ID='1000038' 
+0

이 쿼리를 이해할 수 없습니다. 입력과 출력 예제를 줄 수 있습니까? –

+0

이것은 행 집합을 단일 열의 쉼표로 구분 된 목록으로 피벗 (pivot)하는 SQL Server 트릭입니다. – Rikalous

답변

0

당신은 LINQ 집계 함수를 사용할 수 있습니다. 이가 순서대로 모든 항목에 문자열 연결을 적용

List<string> source = GetMyData(); 
var b = source.Aggregate ("", 
      (current, s)=> string.Concat(current, string.Format("{0},", s))); 

: 당신은이 같은 집계를 사용하여 어떤 데이터 액세스는 다음 사용하는 메커니즘을 통해 문자열 목록에 SELECT에서 데이터를 검색해야합니다 단일 문자열을 작성하십시오.