인증 가이드의 질문에 불만이 있다고 생각합니다. 당신이보기에서 선택하면 당신은 열을 명시 적으로 이름을 부여 할 수 있으며,이 작품 :
CREATE VIEW MyView AS SELECT a, b, c FROM MyTable;
SELECT a AS d, b AS e, c AS f FROM MyView;
문제는 명시 적 컬럼에 별칭을주는 아니다. 당신이 별개의 열 이름을 가진 뷰를 정의하는 대신에 의존하는 경우, 및 열 이름이 모호한 것을, 당신이 곤경에 같은 실행 조인 뷰는 다음과 같이 구성 : 여기에 문제가있어
CREATE VIEW MyView AS
SELECT m.a, m.b, m.c, o.a, o.b, o.c
FROM MyTable m JOIN OtherTable o;
이가 아니다 뷰 정의에서 모든 열 이름이 고유해야하므로 유효보기가 필요합니다.
SELECT a FROM MyView;
이 처음
a
열 또는 두 번째
a
열을 선택 하는가 : 뷰를 쿼리 할 때 예를 들어, 모호한 결과를 얻을 것인가?
뷰 정의의 열 이름 이 있어야합니다. 뷰를 쿼리 할 때 별개의 것으로 지정하는 것만으로는 충분하지 않습니다.
인증 가이드 질문에 대한 언급이 잘못되었다고 생각하는 이유입니다. 명시 적으로 열의 이름을 바꾸는 것이 아니라 뷰의 열에 고유 한 이름이 있는지 확인하는 것입니다. 이것이 열의 이름을 바꾸는 일반적인 이유이기 때문에 질문을 작성하는 사람이 그런 식으로 그것을 작성한 것일 수 있습니다.
SELECT * FROM MyView; -- returns result with columns a, b, c, d, e, f
: CREATE VIEW MyView (a, b, c, d, e, f) AS
SELECT m.a, m.b, m.c, o.a, o.b, o.c
FROM MyTable m JOIN OtherTable o;
또는
CREATE VIEW MyView AS
SELECT m.a, m.b, m.c, o.a AS d, o.b AS e, o.c AS f
FROM MyTable m JOIN OtherTable o;
어느 쪽이든, 당신은 별칭 열을 얻을 :
질문에 언급 된 다른 기술 중 하나를
은 모호성을 해결할 수 있습니다
여기서 그 의미가 무엇인지 상상할 수 없습니다. 당신이 바라는 바에 따라 기둥을 부르는 것이 아마도 그들이 원하는 바일까요? 컬럼 이전에'ALTER VIEW' 문을 실행하고 있습니까? 나는 너만큼 호기심이 많다. – Eric