SQL Server 2008 R2에서 동일한 스키마를 사용하는 두 개의 테이블이 있습니다. 괄호를 그대로 사용하여 다음 쿼리를 실행하면 두 테이블 모두에서 결과를 얻을 수 있습니다. 테이블 이름에 대한 SQL UNION 쿼리를 대체 할 수 없습니다.
/*
select distinct Name, Rank, SerNo, OtherStuff from
*/
(
select Name, Rank, SerNo, OtherStuff from OldPlayers
union
select Name, Rank, SerNo, OtherStuff from NewPlayers
)
/*
OldPlayers
*/
go
그때 모두 주석의 주석을 해제하고, 괄호 안의 표현을 주석 경우
, 나 또한 (물론 하나 개의 테이블에서) 결과를 얻을 수 있습니다.끝에 테이블 이름을 다시 주석으로 추가하고 테이블 이름을 바꿀 수 있도록 괄호 식을 주석 처리하지 않으면 "잘못된 구문 근처에 '오류가 발생합니다."
왜 테이블 이름에 공용 표현식을 사용할 수 없습니까?
select Name, Rank, SerNo, OtherStuff from
(
select Name, Rank, SerNo, OtherStuff from OldPlayers
union
select Name, Rank, SerNo, OtherStuff from NewPlayers
) as Players
'union '으로'distinct '를 사용하지 않아도됩니다. –
Worked! 감사! – Buggieboy