을 적용 절단하지 수 있습니까 @xdata라는 VAR에서 XML 데이터를크로스와 XML 데이터를 XML 조각을 감안할 때
<VehicleFeed>
<Vehicle>
<VIN>1234</VIN>
<Equipment>
<EquipmentDesc>1.1</EquipmentDesc>
<EquipmentDesc>1.2</EquipmentDesc>
<EquipmentDesc>1.3</EquipmentDesc>
</Equipment>
</Vehicle>
<Vehicle>
<VIN>2345</VIN>
<Equipment>
<EquipmentDesc>2.1</EquipmentDesc>
<EquipmentDesc>2.2</EquipmentDesc>
<EquipmentDesc>2.3</EquipmentDesc>
</Equipment>
</Vehicle>
</VehicleFeed>
What I really want is this result set
VIN EquipmentDesc
--- -------------
1234 1.1
1234 1.2
1234 1.3
2345 2.1
2345 2.2
2345 2.3
(빈스는 분명히 가짜입니다). 아래 코드는 작동 할 것이라고 생각하지만, 모든 장비 값을 행으로 분리하는 대신 데이터의 단일 열로 연결합니다.
select t.c.value('VIN[1]', 'varchar(20)') as VIN
, t1.c1.value('.', 'varchar(80)') as EquipDesc
from @xdata.nodes('//VehicleFeed/Vehicle') as t(c)
cross apply t.c.nodes('Equipment') as t1(c1)
즉, 나는 분명히 아마도 십자가에 적용, 뭔가 잘못하고있는 중이 야
VIN EquipmentDesc
--- -------------
1234 1.11.21.3
2345 2.12.22.3
지고, 또는 설명 데이터 (또는 둘 다)의 선택,하지만 난 모르는거야 그것이 무엇인지. 이게 단순한 것처럼 보였지만 나는 그것을 보지 않고있다.
전체 수정 쿼리를 게시하시기 바랍니다. 적어도 귀하의 질문에 게시 한 금액을 수정하십시오. –