테이블 table1
에 xml 열 geographyIdXml
이 있습니다.table1에 xml을 사용하여 table2를 조인하고 결합 된 문자열로 table2의 모든 항목을 반환합니다.
그 열에있는 XML은 다음과 같다 :
<args>
<arg val="1" />
<arg val="2" />
miss a few..
<arg val="99" />
<arg val="100" />
</args>
<arg/>
각 태그 내의 속성이 val
geographies
테이블의 행 ID 항목을 말한다.
table1에서 몇 개의 열과 geographyIdXml 필드와 관련된 지리 이름을 단일 행 및 단일 열로 반환하고자합니다. 이러한 경우
예를 들어, 열이 반환
1, 'My spectacular campaign', 'New York, Paris, Peckham'
나는이 작업을 얻기 위해 오후 내내 시도했다 :
id, name, geographies
데이터가 같이 표시됩니다.
는cross apply geographyIdXml.nodes('args/arg') as ids(id)
inner join core..tbl_geography g on g.id = ids.id.value('@val','int')
을 시도하지만 그건 단지 XML 위 및 병합 시도
에 항목 당 하나 개의 행을 반환하지만 나는 그것이 작동시킬 수 없습니다.
누구나 아이디어가 있다면, 나는 모두 귀입니다. 감사.
------ UPDATE - SQL 예 ---------
select r.*, coalesce(g.name + ', ','') as name
from campaignRun r
cross apply geographyIdXml.nodes('args/arg') as ids(id)
inner join geographies g on g.id = ids.id.value('@val','int')
where r.id = 1
내가 할 열 행을 반환 - 하나를 geographyIdXml 필드의 각 노드에 대해 - 잘못된 것입니다.
내가 원하는 것은 모든 지형의 결합 된 필드가있는 하나의 행이지만 어쨌든 geographies
테이블을 geographyIdXml
필드의 xml을 사용하여 내 campaignRun
테이블에 결합해야합니다. 당신이
당신은 선생님, 천재 천재입니다 - 정말 고마워요! – adrianos
걱정할 필요가없는 서비스 (guvnor)가있어서 기쁩니다 - 질문에서 "유일한 바보"참조를 좋아합니다. –