Google Maps 응용 프로그램의 실제 데이터가 필요하다고 생각하는 Northwind를 SQL 모델로 사용하고 있습니다. 나는 쿼리가 제대로 작동하고 있다고 생각하지만, XML로 리턴 될 때 계층 구조는 내가 필요로하는 방식이 아니다. 여기 FROM 절의 하위 쿼리로 인해 FOR XML AUTO 출력에서 원하지 않는 요소가 발생합니다.
SELECT Marker.CustomerID
,Marker.CompanyName
,Marker.TotalAmount
,o.OrderID
,o.Freight
FROM
(
SELECT c.CustomerID
,c.CompanyName
,c.Address
,COUNT(o.freight) as TotalOrders
,SUM(o.freight) as TotalAmount
FROM Customers c
INNER JOIN Orders o
ON c.CustomerID = o.CustomerID
where c.CustomerID = 'ALFKI' or c.CustomerID = 'ANTON'
group by c.CustomerID
,c.CompanyName
,c.Address
) AS Marker
INNER JOIN Orders o
ON Marker.CustomerID = o.CustomerID
where Marker.CustomerID = 'ALFKI' or Marker.CustomerID = 'ANTON'
order by 1
for xml auto, root('root')
은 XML이 반환됩니다
<root>
<c CustomerID="ALFKI" CompanyName="Alfreds Futterkiste">
<Marker TotalAmount="225.5800">
<o OrderID="10643" Freight="29.4600" />
<o OrderID="10692" Freight="61.0200" />
<o OrderID="10702" Freight="23.9400" />
<o OrderID="10835" Freight="69.5300" />
<o OrderID="10952" Freight="40.4200" />
<o OrderID="11011" Freight="1.2100" />
</Marker>
</c>
<c CustomerID="ANTON" CompanyName="Antonio Moreno Taquería">
<Marker TotalAmount="268.5200">
<o OrderID="10365" Freight="22.0000" />
<o OrderID="10507" Freight="47.4500" />
<o OrderID="10535" Freight="15.6400" />
<o OrderID="10573" Freight="84.8400" />
<o OrderID="10677" Freight="4.0300" />
<o OrderID="10682" Freight="36.1300" />
<o OrderID="10856" Freight="58.4300" />
</Marker>
</c>
</root>
고객 테이블에 대한 별칭으로 C를 사용하여 하위 쿼리는 XML에서 원치 않는 것입니다; CustomerID는 주문과 고객 모두에 있기 때문에 애매 모호하기 때문에 필요로하는 것 같습니다. 나는로만 내 오 마커를 표시하는 방법을 알고 싶습니다 조롱 업 아래 :
<root>
<Marker CustomerID="ALFKI" CompanyName="Alfreds Futterkiste" TotalAmount="225.5800">
<o OrderID="10643" Freight="29.4600" />
<o OrderID="10692" Freight="61.0200" />
<o OrderID="10702" Freight="23.9400" />
<o OrderID="10835" Freight="69.5300" />
<o OrderID="10952" Freight="40.4200" />
<o OrderID="11011" Freight="1.2100" />
</Marker>
감사합니다 (I는 ... - 공부까지 해당에 필요)하지만 코드 위에서 제공 한 것과 똑같은 [원하지 않는] XML 계층 구조를 생성합니다. –