CREATE VIEW PEOPLE
AS
SELECT CustomerId, CustomerName FROM Customers
UNION ALL
SELECT EmployeeId, EmployeeName FROM Employees
UNION ALL
SELECT FriendId, FriendName From Friends
現在我需要添加唯一ID的觀點,自然是因爲我可以有一個CustomerId = 15
,並提出了看法一個EmployeeID = 15
所以我做的訣竅是以下
SELECT
CAST('1' + CAST(CustomerId AS VARCHAR(30)) AS INT) as UniqueCustomerId,
CustomerId, CustomerName FROM Customers
UNION ALL
SELECT
CAST('2' + CAST(EmployeeId AS VARCHAR(30)) AS INT) as UniqueEmployeeId,
EmployeeId, EmployeeName FROM Employees
UNION ALL
SELECT
CAST('3' + CAST(FriendId AS VARCHAR(30)) AS INT) as UniqueFriendId,
FriendId, FriendName From Friends
反正這個鑄件varchar(30)
和回int
是一個開銷,因爲我有很多記錄。
你能提出一個更好的方法嗎?
是否需要是一個單列唯一標識符?看起來,將人員類型保存在單獨的專欄中會更清晰。 –