0
쿼리에 대해 XML 결과를 반환합니다.XML 경로 용 SQL Server
을 감안할 때 두 테이블 :이 내가 그것을 예상대로 작동하고 올바른 결과를 반환
SELECT
FooId,
FooName,
(
SELECT
BarId,
FooId,
BarName
FROM
Bar
WHERE
Bar.FooId = Foo.FooId
AND Bar.BarName = 'SomeBar'
FOR XML PATH('Bar'), TYPE
)
FROM
Foo
WHERE
Foo.FooName = 'SomeFoo'
AND Foo.FooId IN
(
SELECT
Bar.FooId
FROM
Bar
WHERE
Bar.BarName = 'SomeBar'
)
FOR XML PATH('Foo'), TYPE
:
**Foo**
FooId int
FooName varchar(10)
**Bar**
BarId int
FooId int (FK)
BarName varchar(10)
내가 좋아하는 SELECT 문을 작성합니다. 나는 그것을 개발하는 동안 올바른 결과를 얻기 위해 where 절의 하위 선택과 중첩 된 선택 모두에서 필터링 절을 복제해야한다고 생각했습니다.
나는 이것을 수행하는 더 좋은 방법이 없는지 확인하고 싶습니다. 동료가 별칭을 사용하여 중복 절을 제거했지만 그 방법이 무엇인지를 잘 모르겠다 고 언급했습니다.
이것이 필요한가요? 아니면 더 좋은 방법이 있습니까?