2012-04-18 4 views
1

행을 가져 오는 테이블을 나타내는 열이있는보기를 만들어야합니다.SQL Server에서 유형을 나타내는 추가 열이있는보기 만들기

좀 더 구체적으로 SQL 서버 2005 익스프레스

를 사용하고, 나는 테이블이있는 데이터베이스 사용자라는이 테이블은 개발자와 은행 계좌 데이터를 포함하는 별도의 하나라고합니다. 사용자와 개발자의 은행 계좌 정보를 보여주는보기와 행이 사용자 또는 개발자의 것인지 여부를 나타내는 추가 열이 필요합니다.

나는이 있습니다

CREATE VIEW bankDataView 
AS 

SELECT accountinfo, name, lastname, devcode as id 
FROM developer d INNER JOIN bankdata bd ON 
d.bankdataID = bd.bankDataID 
UNION 
SELECT accountinfo, name, lastname, userID as id 
FROM user u INNER JOIN bankdata bd ON 
u.bankdataID = bd.bankdataID 

을하지만 지금은 그 여분의 열을 얻는 방법을 알고 있어야합니다.

이 방법이 가능합니까 아니면 다른 방법을 고려해야합니까?

답변

4

데이터를 가져 오는 테이블을 나타내는 각 select 문에 추가 열을 추가하기 만하면됩니다. 그러면 개발자와 사용자를 쉽게 구별 할 수 있습니다.

CREATE VIEW bankDataView 
AS 

SELECT accountinfo, name, lastname, devcode as id, 'Developer' as TableName 
FROM developer d 
INNER JOIN bankdata bd 
    ON d.bankdataID = bd.bankDataID 
UNION 
SELECT accountinfo, name, lastname, userID as id, 'User' as TableName 
FROM user u 
INNER JOIN bankdata bd 
    ON u.bankdataID = bd.bankdataID 
0

bluefeet은 논리적으로 정확하지만 일반 UNION 대신 UNION ALL을 사용하면 성능이 향상됩니다. 일반 UNION은 노동 조합에서 중복 된 결과를 제거하는 추가 작업을 수행합니다. 새 TableName 열 덕분에 중복 된 결과가 나타나지 않습니다.